Linux配置sendmail发送邮件.md

1.安装sendmail:

sendmail下载
解压后进入文件夹,将sendEmail移动到/usr/local/bin

cd sendEmail-v1.56
cp sendEmail /usr/local/bin

2.获取邮件发送授权码

登录邮箱-->设置-->账户


image.png
image.png
image.png

3.发送邮件第一坑

sendEmail -f  [email protected]   -t [email protected]   -s smtp.qq.com    -xu  [email protected]    -xp 123456    -u "The title"    -m "this is content"

-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 授权码
-m 表示邮件的内容

然后会报异常:
invalid SSL_version specified at /System/Library/Perl/Extras/5.18/IO/Socket/SSL.pm line 368.
原因是:
解决方案:增加参数-o tls=no 选项,

4.发送邮件第二坑

sendEmail -f  [email protected]   -t [email protected]   -s smtp.qq.com    -xu  [email protected]    -xp 123456    -u "The title"    -m "this is content"   -o tls=no

又报异常
sendEmail[21044]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.qq.com:25 failed.
原因是:阿里云屏蔽了非SSL链接的25发送邮件端口

5.终极解决方案:

5.1 在/etc/ssl/certs 目录下增加3个db

Firefox浏览器*.db文件(cert8.db、key3.db、secmod.db)以支持SSL的方式发送邮件示,三个db存的是证书,公钥,私钥
找不到的可以在这个地址下载 https://dn-zhangguoli.qbox.me/mail.rc_ssl.crt.zip

5.2 配置/etc/mail.rc

# 发件人
set from= [email protected]
# 设置邮件发送使用465端口
set smtp=smtp.qq.com:465      
# 登录邮箱帐号      
set [email protected]
# 密码是步骤2中的授权码
set smtp-auth-password=xxxxx     
set smtp-auth=login 
#启用ssl加密
set smtp-user-starttls                                          
set ssl-verify=ignore
 #ssl的加密证书
set nss-config-dir=/etc/ssl/certs  

6. 邮件发送

echo "this is content" | mail -s 'this is title'  [email protected]

参考文章:http://blog.51cto.com/735526/2112807 感谢
如果错误:欢迎拍砖

你可能感兴趣的:(Linux配置sendmail发送邮件.md)