首页 > 代码库 > 命令行发送邮件

命令行发送邮件

CentOS
  • stop or remove sendmail:yum remove sendmail
  • yum install postfix
  • yum install mailx
  • 检查MTA是否为Postfix:alternatives --display mta
  • 假设不是更改默认MTA为Postfix:/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix
  • 检測并启动Postfix
    • service postfix status
    • service postfix start
  • 设置开机启动  chkconfig postfix on
rm /var/spool/postfix/pid/master.pid

/etc/mail.rc
配置mail
set from=test@163.com
set smtp=smtp.163.com
set smtp-auth-user=test
set smtp-auth-password=test
set smtp-auth=login

OSX 
使用sendemail
http://blog.sciencenet.cn/blog-233165-407470.html

发送邮件:

最简单的方法:

mail -s text **@mail.ustc.edu.cn

这条命令的结果是发一封标题为text的空信给后面的邮箱,可是往往这类邮件会被当成垃圾邮件来处理。所以假设没有收到邮件,建议打开垃圾箱来查看一下.第一种方法,你能够把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束。

#另外一种方法。使用管道命令

echo “This is a test mail!”|mail -s text **@mail.ustc.edu.cn

#第三种方法。使用重定向。


mail -s test **@mail.ustc.edu.cn < file

file的内容为邮件内容发信,首先选择事先写好一个文档然后再mail过去。

带附件的邮件发送(重点)

假设你的系统中没有uuencode命令的话,则须要先安装sharutils。
       sudo apt-get install sharutils。
       uuencode 须要两个參数,第一个是你要发送的文件,当然这个也能够用管道来做。第二个是显示的文件名称
       uuencode /home/daniel/httpd.conf httpd.conf|mail -s mailtest  **@mail.ustc.edu.cn



http://www.cmhello.com/lnmp-centos-postfix.html
http://blog.csdn.net/daniel_ustc/article/details/9383183

命令行发送邮件