首页 / 操作系统 / Linux / Linux 使用SMTP代理发送邮件
对于想在Linux下面发送邮件,而且自己又没有独立的域名主机,就不能向外部发送邮件。因此可以用一下发放来解决这个问题,简言之就是利用Linux当做一个邮箱的客户端来登录已经存在的邮箱,比如126,163等等,用登陆的邮件来向外网发送邮件。测试环境:#uname -aLinux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux方法一:yum install -y mailx主要是修改/etc/mail.rc文件
编辑 /etc/mail.rc文件,添加以下内容:set from=User@XX.com 登陆邮箱的账号,如linuxidc@126.comset smtp=smtp.XXX.com 邮箱的smtp服务器,如smtp.126.comset smtp-auth-user=User@XX.com 邮箱的用户名,比如linuxidc@126.comset smtp-auth-password=Password 邮件的密码set smtp-auth=login 认证方式:登陆关闭系统的sendmail,postfix#service sendmail stop#service postfix stop#chkconfig sendmail off#chkconfig postfix off
发送测试邮件:echo "hello" | mail -s "Title" linuxidc@126.com根据网速、运营商、SMTP的情况不同,邮件发送将有延迟现象。方法二: 运用 mutt 和 msmtp 代理发送邮件yum -y install mutt msmtp编辑 /etc/Murrtc 添加如下代码:set sendmail="/usr/bin/msmtp" msmtp命令的绝对路径set use_from=yes set realname="Test" 自定义显示的发件人set from="linuxidc@126.com" 发件箱地址set envelope_from=yes
编辑 /root/.msmtprc添加如下代码account defaulthost smtp.126.com 所用邮箱的smtp地址from linuxidc@126.com 发件箱地址auth login 登录,根据smtp支持的认证方式修改user linuxidc 邮件账号,不包括@后面的域名password linuxidc 发件箱密码logfile /var/log/msmtp.log 日志文件路径
service postfix restartecho "This is a test mail" | mutt -s "Test" -a /tmp/test.txt wantyi@126.com本文永久更新链接地址