我正在使用 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