我正在使用 fetchmail 和 procmail 将电子邮件转发到 gmail 帐户。我正在使用 Mac 终端。
这是我的 .fetchmailrc:
set no bouncemail
poll outlook.office365.com with protocol imap
port 993
auth password
user [email protected] password password
ssl
sslfingerprint "<Correct Fingerprint - not sure if I should copy this here>"
sslcertpath /Users/myuser/.certs
keep
no rewrite
mda "/usr/local/bin/procmail -f %F -d %T";
这是我的 .procmailrc 文件:
VERBOSE=yes
:0
! [email protected]
当我运行 fetchmail -vv 时,一切似乎都工作正常,它在我从中提取的电子邮件帐户中找到一封未读的电子邮件。 procmail 下输出的最后一件事是:
procmail: Executing "/usr/sbin/sendmail,-oi,[email protected]"
没有列出明显的错误。
但是,我的 Gmail 帐户中没有显示任何内容?
答案1
是否必须是 procmail 和 Apple 邮件传输代理,或者您可以将事情转交给 吗ssmtp
?例如,使用 MacPorts(Fink 和 Homebrew 下的安装细节可能非常相似)
$ sudo port install ssmtp
...
然后ssmtp
通过/opt/local/etc/ssmtp/ssmtp.conf
(或 Fink 或 Homebrew 隐藏该文件的任何地方)使用类似的内容进行配置
[email protected]
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=localhost
UseTLS=Yes
UseSTARTTLS=Yes
[email protected]
AuthPass=Hunter2
FromLineOverride=no
然后fetchmailrc
用类似的东西设置你的
...
mda "/opt/local/sbin/ssmtp FIXME"
如果一切顺利的话,应该会fetchmail
发送ssmtp
到 gmail。
答案2
为了将来的参考,@KevinO 的评论和 @thrig 的答案都起作用,电子邮件现在显示在我的 gmail 中(尽管它们看起来像是来自[电子邮件受保护]而不是原始发件人,但这是另一个问题)。
对于那些想要使用 procmail/postfix 的人 - 作为更新,要配置 sendmail 从 OSX Sierra 上的 gmail 发送,说明与 @KevinO 提供的链接略有不同:
编辑文件/etc/postfix/main.cf,在底部添加:
mydomain_fallback = localhost
mail_owner = _postfix
setgid_group = _postdrop
relayhost = smtp.gmail.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
#smtp_tls_security_level = encrypt
#tls_random_source = dev:/dev/urandom
smtp_sasl_mechanism_filter = login
smtp_sasl_mechanism_filter = login
在 sasl_passwd 中:
smtp.gmail.com:587 [email protected]:password
测试设置:
date | mail -s test [email protected]