着实搞了我整整一天,艰辛的过程就不说了,直接说使用和配置。
特别注意:smtp.qq.com用于普通用户,stmp.exmail.qq.com用于企业用户
方式一
工具
- ssmtp
- mailutils(可有可无吧)
配置SMTP
配置/etc/ssmtp/ssmtp.conf
root=van # 名字,不重要
hostname=van # 机器名,不重要
mailhub=smtp.exmail.qq.com:465 # QQ有提供,重要
rewriteDomain=qq.com # 转发域名,重要
AuthUser=yuzetao@chafou.com # 你的邮件地址,重要
AuthPass=xxxx # QQ给的授权码,重要
FromLineOverride=YES # 可以覆盖From等header,重要(QQ会校验From字段)
UseTLS=YES # 强制使用TLS,重要(QQ强制)
配置/etc/ssmtp/revaliases
root:yuzetao@chafou.com:smtp.exmail.qq.com:465 # 改成你的邮件地址,重要(用于匹配替换)
使用mail发送邮件
mail -a 'From: yuzetao@chafou.com(van_江城子)' -s '这是一个最终测试邮件' y344087491@gmail.com < test_mail # -a 设置From头非常重要,否则会覆盖,被QQ拒绝
相关知识
特别注意header
如:
From:发送者,如果用英文括号,可以展示括号中的内容
To:接受者
Cc:抄送给谁
Content-Type:就和HTTP协议一样,如果是text/html,服务器会渲染
……
方式二
工具
- postifx
- mail(mailx)
配置postifx
postfix是一个邮件传输代理(MTA),可以用它来收发邮件,这里只是用做接受mail客户端(MUA)的邮件,来转发到远端的SMTP服务器
relayhost = smtp.exmail.qq.com:465 # 对方服务器
smtp_use_tls = yes # 使用TLS
smtp_sasl_auth_enable = yes
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/private/etc/postfix/sasl_passwd # 用户名密码相关
smtp_generic_maps = hash:/etc/postfix/generic # 转发设置(对QQ很重要)
配置sasl_password
smtp.exmail.qq.com:465 yuzetao@chafou.com:<授权码>
配置generice
van@vans-MacBook-Pro.local yuzetao@chafou.com # 更改了From头