美文网首页
Linux服务器发送邮件

Linux服务器发送邮件

作者: willeyao | 来源:发表于2017-05-20 15:39 被阅读0次

一 使用mail命令发送邮件

有以下几种发送方式:

1. mail -s "mail subject" user@xxx.com
2. echo "mail content" |mail -s "mail subject" user@xxx.com
3. mail -s "mail subject" user@xxx.com<content.txt

FAQ:
阿里云服务器禁止与外网25端口通信。可通过SSL的外部SMTP服务器发送邮件。

二 通过外部SMTP服务器发送邮件

1 不使用SSL

编辑 /etc/mail.rc,加入以下内容:

set from="user@xxx.com(username)"    #发信电子邮件地址(括号内为邮件显示名称)
set smtp=smtp.xxx.com      #发信服务器地址
set smtp-auth=login   #认证方式
set smtp-auth-user=user@xxx.com    #发信认证账户(一般同发信电子邮件地址)
set smtp-auth-password=password #发信认证账户密码

这个设置只适合支持非ssl链接的SMTP服务器。对于像Google这样,强制使用SSL加密连接的,可通过配置SSL来实现发送邮件。
同时,使用SSL的SMTP端口一般为465或994,可解决阿里云屏蔽25端口不能发送邮件问题。

2使用SSL

  1. 在装有Firefox的电脑, 将
    (Windows:%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default/) (Linux:~/.mozilla/firefox/xxxxxxxx.default/)目录下的*.db文件复制到/etc/mail.rc_ssl.crt/目录下。

或下载mail.rc_ssl.crt.zip,解压到/etc目录下。链接如下:
链接:http://pan.baidu.com/s/1jIHW6Y6 密码:9brj

  1. 编辑/etc/mail.rc,加入以下内容
set from="user@xxx.com(username)"    #发信电子邮件地址(括号内为邮件显示名称)
set smtp=smtps://smtp.xxx.com:465    #发信服务器地址
set nss-config-dir=/etc/mail.rc_ssl.crt    #SSL证书保存位置
set smtp-use-starttls    #客户端验证SSL方式 如报454异常,可注释掉该行
set ssl-verify=ignore    #忽略SSL错误的认证
set smtp-auth=login    #认证方式
set smtp-auth-user=user #发信认证账户(一般同发信电子邮件地址)
set smtp-auth-password=password #发信认证账户密码

再用mail命令发送邮件即可。

参考:
http://www.mzone.cc/article/317.html
https://www.yeboyzq.com/linux/xitongweihu/748.html

相关文章

网友评论

      本文标题:Linux服务器发送邮件

      本文链接:https://www.haomeiwen.com/subject/dyefbttx.html