将 MSMTP 与 GoDaddy 中继服务器结合使用。有帮助吗?

将 MSMTP 与 GoDaddy 中继服务器结合使用。有帮助吗?

好的,首先,我已经对此做了功课和研究。我找到的大多数指南都是关于使用 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 ...

相关内容