Eu acho que o problema pode ser o mesmo que eu experimentei em outra hospedagem econômica. Tente adicionar isso ao seu arquivo msmtprc.
tls_certcheck off
Além disso, comente esta linha:
tls_trust_file ...
Ok, primeiro de tudo eu fiz minha lição de casa e pesquisei sobre isso. A maioria dos guias que encontrei são para configurar o MSMTP com o Gmail. Primeiro, deixe-me dizer o que eu fiz até agora.
Minha caixa está executando o Ubuntu 12.04. Estou usando o Zpanel 10.1.1. Como não preciso receber e-mails no meu servidor, não tenho necessidade do Postfix, que é fornecido com o software. Então eu desabilitei na inicialização usando:
sudo update-rc.d postfix disable
Antes de prosseguir, o cenário é este. Eu corro vários sites nesta caixa. Eles são todos os sites do Wordpress. Um desses sites tem usuários se inscrevendo, mas eu preciso enviar e-mails de confirmação. Quando as pessoas recebem os e-mails que eu preciso para dizer o seu de "[email protected]". Então, se outro site precisar enviar um e-mail, eu preciso que o e-mail seja recebido do domínio desses sites: "[email protected]". Faz sentido?
Então, depois que desabilitei o Postfix, instalei o MSMTP usando o comando
sudo apt-get install msmtp ca-certificates
Então eu fiz o arquivo de configuração usando o seguinte comando:
sudo nano /etc/msmtprc
Então, dentro do arquivo de configuração, está o seguinte: (O nome de usuário e a senha foram alterados)
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
tls_starttls off
account default
host smtpout.asia.secureserver.net
user (my GoDaddy email address)
from (my GoDaddy email address)
password (my GoDaddy password)
port 25
Depois, no guia que eu segui, disse que tinha que executar o seguinte comando:
sudo chmod 0644 /etc/msmtprc
Então eu entrei no meu arquivo php.ini e mudei o caminho do sendmail com os seguintes comandos:
nano /etc/php5/apache2/php.ini
Então no php.ini mudei o caminho do sendmail para isso:
sendmail_path = "/usr/bin/msmtp -t"
Então eu fiz um teste com o MSMTP na linha de comando:
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=(GoDaddyEmail) -t (PersonalGmailEmail)
Com esse comando, mostra-me o que o servidor está fazendo e mostra os erros que acontecem:
loaded system configuration file /etc/msmtprc
ignoring user configuration file /root/.msmtprc: No such file or directory
falling back to default account
using account default from /etc/msmtprc
host = smtpout.asia.secureserver.net
port = 25
timeout = off
protocol = smtp
domain = localhost
auth = choose
user = (GoDaddyEmail)
password = *
passwordeval = (not set)
ntlmdomain = (not set)
tls = on
tls_starttls = off
tls_trust_file = /etc/ssl/certs/ca-certificates.crt
tls_crl_file = (not set)
tls_fingerprint = (not set)
tls_key_file = (not set)
tls_cert_file = (not set)
tls_certcheck = on
tls_force_sslv3 = off
tls_min_dh_prime_bits = (not set)
tls_priorities = (not set)
auto_from = off
maildomain = (not set)
from = (GoDaddyEmail)
dsn_notify = (not set)
dsn_return = (not set)
keepbcc = off
logfile = /root/msmtp.log
syslog = (not set)
aliases = (not set)
reading recipients from the command line and the mail
msmtp: TLS handshake failed: An unexpected TLS packet was received.
msmtp: could not send mail (account default from /etc/msmtprc)
Mas nada disso está funcionando. Então, o que estou fazendo de errado? Os detalhes do servidor vieram do centro de configuração de email no GoDaddy.
Obrigado antecipadamente.
Eu acho que o problema pode ser o mesmo que eu experimentei em outra hospedagem econômica. Tente adicionar isso ao seu arquivo msmtprc.
tls_certcheck off
Além disso, comente esta linha:
tls_trust_file ...