Impossível enviar e-mail com o comando mail

0

Não consigo fazer com que o comando 'mail' envie mensagens do meu computador Linux Ubuntu 15.10. O arquivo 'mail.log' geralmente informa "Conexão esgotada".

Emitir o comando: 'mail -s "meu assunto" [email protected] < filename ', onde' filename 'é um arquivo que contém minha mensagem.

Especificamente, os relatórios de registro:

Jan 5 12:29:53 pegasus postfix/smtp[9006]: connect to mx01.gmx.com[74.208.5.27]:25: Connection timed out
Jan 5 12:30:23 pegasus postfix/smtp[9006]: connect to mx00.gmx.com[74.208.5.4]:25: Connection timed out

Eu suspeito que meu ISP (verizon) está bloqueando a porta 25 e causando o problema: no entanto, não obtive êxito ao tentar alterar a porta smtp para 465 (como a Verizon recomenda) ou 587 (como outros recomendam). A seguir está o meu arquivo master.cf:

smtp inet n - - - - smtpd

465 inet n - - - - smtpd

#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
#tlsproxy unix - - - - 0 tlsproxy
#submission inet n - - - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#smtps inet n - - - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authentica -o milter_macro_daemon_name=ORIGINATING
#628 inet n - - - - qmqpd
pickup unix n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
    
por timothy 06.01.2016 / 22:13

1 resposta

0

master.cf apenas define quais serviços e amp; portas que o seu Postfix irá escutar , ou seja, quais conexões de entrada aceitar. Não afeta como o correio enviado é enviado.

Agora, enquanto o Postfix tem muitas opções para o seu transporte "smtp", na verdade ele não permitem alterar a porta SMTP. Mas tudo bem, porque mesmo que você tenha alterado a porta SMTP de saída para 587 ou qualquer outra coisa, não adiantaria - a maioria dos servidores de recepção não está escutando nessa porta de qualquer forma; suas mensagens de erro simplesmente mudariam para "Conexão recusada" (ou talvez "Mensagem rejeitada; autenticação necessária"). A porta de troca de mensagens SMTP (servidor a servidor) é 25, fim da história.

Suas "recomendações" provavelmente vêm de instruções sobre como configurar o servidor de email para aceitar conexões SMTP de um aplicativo de email como Thunderbird ou Outlook - na verdade, a porta SMTP cliente-servidor (envio de email) é 587, e algumas configurações mais antigas ainda usam 465 para isso.

No início, a porta 25 era usada para todos e, mais tarde, era separada em 25 para troca de mensagens servidor-servidor e 587 para envio de correio cliente-servidor. Isso permite que o servidor aplique regras diferentes a cada uma delas. é permitido corrigir certos problemas no correio enviado pelo cliente, e os ISPs podem bloquear a porta 25 enquanto ainda permitem 587.

(Alguns aplicativos de email usavam a porta 465 para "SMTPS" - SMTP com TLS (como HTTPS) - mas tinham desvantagens de não serem utilizáveis para comunicações servidor-servidor. Ela foi eventualmente substituída por STARTTLS pelas portas 25 e 587. A IANA, desde então, redesignou a porta 465 para outro protocolo, e não deve mais ser usada para email.

Então, o que fazer no seu caso? Existem algumas opções gerais.

Primeiro, se você estiver tentando transformar seu computador em um servidor de e-mail completo para seu próprio domínio:

  • Opção preferida: peça ao seu ISP para desbloquear as conexões SMTP. (Alguns ISPs do removem os blocos se você pedir gentilmente e prometer não enviar spam.)

  • Faça o Postfix usar o servidor de "retransmissão" fornecido pelo ISP, também conhecido como smarthost. (Somente alguns ISPs oferecem isso, e você ainda precisará fazer algo para o correio de entrada também ...)

  • Faça todas as conexões SMTP passarem por uma VPN. (Idealmente, deveria ser uma VPN através do seu próprio servidor alugado - nem sequer pense nas VPNs do tipo "Hide my ass" orientadas para a privacidade, elas já bloqueiam a porta 25 da mesma forma para todos pelas mesmas razões.)

Ou, se você quiser que apenas mail envie e-mails de uma conta existente (por exemplo, Gmail ou GMX):

  • Mais uma vez, configure o Postfix para usar o servidor de "retransmissão" do Gmail ou do GMX. Isso basicamente faz com que funcione como um aplicativo de e-mail normal, passando por [smtp.gmail.com]: 587, com seu nome de usuário & senha.

    (Existem alguns tutoriais "postfix gmail" disponíveis, mas você também pode substituir o Postfix completamente por uma ferramenta somente de retransmissão como msmtp ou esmtp , que foi feita para essa finalidade.)

  • Ou instale o s-nail (anteriormente conhecido como heirloom-mailx) - uma versão do mail que sabe como usar o SMTP diretamente sem passar pelo sistema de email do SO. (É assim que outros aplicativos de email funcionam, de qualquer forma.) O comando ainda será mail .

    (Se bem me lembro, o GNU mailutils também tem um comando mail com suporte SMTP.)

por 07.01.2016 / 09:00