由于使用本地服务发送邮件会占用资源以及被系统过滤掉导致发送成功率不高,所以通常情况下选用外部SMTP服务器发送邮件。
在linux下配置外部SMTP服务器发送邮件的方法有很多,可以使用SendEmail、heirloom-mailx等来实现。下面写一下用heirloom-mailx来说实现邮件发送的教程。
1.安装heirloom-mail
在命令行中输入“sudo apt-get install heirloom-mailx”指令,如下图:
2.修改/etc/nail.rc文件
在命令行中输入“vi /etc/nail.rc”,移动光标至文件末尾处,输入“i”进入插入模式,然后添加需要开放的SMTP服务器:
代码
set from=USER@126.com set smtp=smtp.126.com set smtp-auth-user=USER set smtp-auth-password=PASSWORD set smtp-auth=login
set from是发送的邮件地址
set smtp是发生的外部smtp服务器的地址
set smtp-auth-user是外部smtp服务器认证的用户名
set smtp-auth-password是外部smtp服务器认证的用户密码
set smtp-auth是邮件认证的方式
需要注意的是“mtp-auth-password外部smtp服务器认证的用户密码”为邮箱的授权码而不是邮箱密码,授权码的位置可以在自己的邮箱设置中查看,例如我的邮箱授权码查看位置:
我的文件设置为
设置完毕后,按ESC健退出插入模式并输入“:wq”退出。
3.测试
在命令行发送
echo “邮件内容” | heirloom-mailx -s “邮件标题” wangqingchuan92@126.com
例如我的:
也可以加参数v看到mail输出的详细信息:
echo “邮件内容” | heirloom-mailx -vs “邮件标题” wangqingchuan92@126.com
例如我的:
PS:若在smtp-auth-password中输入的是邮箱密码,则在邮件发送则失败并会出现如下图信息: