sendmail através da máquina virtual

2

Estou executando com êxito alguns envios SMTP muito básicos em minha máquina com um script Python básico:

.... things ...

try:
   smtpObj = smtplib.SMTP('localhost')
   smtpObj.sendmail(sender, recievers, message.format(now, now))
   print "Successfully sent email"
except SMTPException:
   print "Error: unable to send email"

Funciona bem tanto na minha máquina quanto no servidor Ubuntu que tenho no Virtual Box. Agora eu gostaria de enviar um e-mail de um servidor usando o outro servidor como host.

Eu tentei no meu host virtual mudar

smtpObj = smtplib.SMTP('localhost')

com

smtpObj = smtplib.SMTP('IP of my PC') #IP get from "ifconfig -a"

mas não funciona.

Estou sentindo falta de algo?

    
por fedorqui 10.07.2013 / 12:38

1 resposta

3

It works fine both in my machine and in a Ubuntu server I have in Virtual Box. Now I would like to send one email from one server using the other server as a host.

Como você mencionou, ele está funcionando na máquina com localhost não com IP address of host , pode ser que o servidor de e-mail esteja executando apenas no host local, portanto, você precisa vincular o Postfix Mail Server a todos ou a um endereço IP específico a interfaces.

Configuração de ligação do endereço IP do postfix:

Abra o arquivo /etc/postfix/main.cf

Anexe / modifique a linha da seguinte forma para ligar apenas ao host local (127.0.0.1):

inet_interfaces = NEW_IP_ADDRESS,127.0.0.1

Salve e feche o arquivo. Você precisa parar e iniciar o Postfix quando este parâmetro for alterado. Então digite o seguinte para reiniciar o Postfix:

/etc/init.d/postfix restart

Se você estiver usando o sendmail:

Abra /etc/mail/sendmail.cf

Encontre a linha que começa com DaemonPortOptions e substitua Addr=127.0.0.1 to Addr=0.0.0.0

Nota: 0.0.0.0 significa todas as interfaces ativas.

reinicie o sendmail e verifique se tudo está funcionando bem:

netstat -tulpn | grep 25
tail -f /var/log/maillog
    
por 10.07.2013 / 14:37