好的,首先,我已经对此做了功课和研究。我找到的大多数指南都是关于使用 Gmail 设置 MSMTP 的。首先,让我告诉你我到目前为止做了什么。
我的机器运行的是 Ubuntu 12.04。我使用的是 Zpanel 10.1.1。由于我不需要在服务器上接收电子邮件,因此我不需要与软件捆绑在一起的 Postfix。因此我在启动时使用以下命令禁用它:
sudo update-rc.d postfix disable
在我进一步讨论之前,情况是这样的。我在这个盒子上运行多个网站。它们都是 Wordpress 网站。其中一个网站有用户注册,但我需要它发送确认电子邮件。当人们收到电子邮件时,我需要它说它来自“[电子邮件保护]“。那么,如果另一个网站需要发送电子邮件,我需要从该网站的域接收该电子邮件:”[电子邮件保护]“。 合理?
因此,在我禁用 Postfix 之后,我使用命令安装了 MSMTP
sudo apt-get install msmtp ca-certificates
然后我使用以下命令创建了配置文件:
sudo nano /etc/msmtprc
然后配置文件里面的内容如下:(用户名和密码已经更改)
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
然后,在我遵循的指南中,它说我必须运行以下命令:
sudo chmod 0644 /etc/msmtprc
然后我进入我的 php.ini 文件并使用以下命令更改 sendmail 路径:
nano /etc/php5/apache2/php.ini
然后在 php.ini 中我将 sendmail 路径更改为:
sendmail_path = "/usr/bin/msmtp -t"
然后我从命令行对 MSMTP 进行了测试:
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=(GoDaddyEmail) -t (PersonalGmailEmail)
使用该命令,它可以显示服务器正在执行的操作以及发生的任何错误:
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)
但这些都不起作用。我做错了什么?服务器详细信息来自 GoDaddy 内的电子邮件设置中心。
提前致谢。
答案1
我认为这个问题可能与我在其他经济型主机上遇到的问题相同。尝试将其添加到您的 msmtprc 文件中。
tls_certcheck off
另外,评论这一行:
tls_trust_file ...