SMTP 服务器需要 STARTTLS

SMTP 服务器需要 STARTTLS

我正在使用 fetchmial。以下是我的配置。我希望检索到的电子邮件发送到我的 gmail 地址。但我遇到了下面的错误。有人能帮我解决这个问题吗?提前谢谢。

配置:使用协议 IMAP 用户轮询 android.imap.mail.yahoo.com'[电子邮件保护]' 密码 'passwd' smtpname[电子邮件保护]smtphost smtp.gmail.com

错误:fetchmail:SMTP<530 5.7.0 必须先发出 STARTTLS 命令。pe8sm1120100pbc.76 fetchmail:SMTP 错误:530 5.7.0 必须先发出 STARTTLS 命令。pe8sm1120100pbc.76 SMTP 服务器需要 STARTTLS,以保留消息。

答案1

Google Mail 的 SMTP 服务器要求您使用 TLS 连接,但您已将 fetchmail 配置为从不使用 TLS。

检查您的 fetchmail 命令行和配置文件sslproto并确保它已设置为TLS1

在命令行上:

--sslproto TLS1

在conf文件中:

sslproto TLS1

有关更多信息,请参阅 fetchmail 文档配置 SSL/TLS

答案2

您必须首先获得 gmails 证书:

openssl s_client -connect pop.gmail.com:995 -showcerts

上述命令将返回来自 Google Gmail 的证书

您需要复制证书部分(即“BEGIN CERTIFICATE”部分和“END CERTIFICATE”部分之间的所有内容),然后将其保存到文件中。

保存到/ssl/certs/.certs

.fetchmailrc

set daemon 90
set syslog
set postmaster serverusername
poll pop.gmail.com with proto POP3 and options no dns 
     user '[email protected]' with pass "****"  is 'username' here options ssl sslcertck  sslcertpath '/ssl/certs/.certs' 
     smtphost localhost    

相关内容