SMTP

Vamos a usar el aprovisionamiento shell de vagrant instalar Postfix (http://www.postfix.org/), un servidor de SMTP de código abierto rápido, fácil de administrar y seguro.

Configuración de Vagrant

En el archivo VagrantFile, en el bloque de configuración "mail" declaramos un nuevo programa de aprovisionamiento, sera de tipo shell y este debera cargar y ejecutar el archivo "postfix.sh" en la máquina virtual.

Vagrant.configure(2) do |config|
  # ... other configuration

  config.vm.define :mail do |mail|
     mail.vm.box = "hashicorp/precise64"
     mail.vm.provision :shell, inline: "echo Mail server running"
     mail.vm.hostname = "mail.vagrant.test"
     mail.vm.provision "shell", path: "initialize.sh"
     mail.vm.provision :shell, path: "postfix.sh"
  end
end

Instalación de Postfix

El siguiente es el contenido del script "postfix.sh" que se encarga de instalar el servidor SMTP, cada línea comentada describe el procedimiento que que se esta realizando, en algunos casos esta descripción también se imprime en la consola.

#!/bin/bash

#Pre-loading debconf values for keeps all answers to questions packages about the configuration during installation 

debconf-set-selections <<< "postfix postfix/mailname string mail.vagrant.test"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"

#Intall postfix
apt-get install -y postfix

#Change postfix mail dir to sync with Dovecot.
sudo postconf -e "home_mailbox = Maildir/"

Comprobando la instalación

Siga la siguiente secuencia de comandos para comprobar el funcionamiento del servicio SMTP.

$ telnet mail.vagrant.test smtp
Trying 172.28.128.3...
Connected to mail.vagrant.test.
Escape character is '^]'.
220 mail.vagrant.test ESMTP Postfix (Ubuntu)
HELO mail.vagrant.test
250 mail.vagrant.test
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hola mundo ! 
.
250 2.0.0 Ok: queued as 1E5BE3E0718
quit
221 2.0.0 Bye
Connection closed by foreign host.

results matching ""

    No results matching ""