Izhuceul 发表于 2018-8-29 14:06:58

shell发邮件

  方法一:简单邮件发送
  echo 'hello world' | mail -s "Subject" -tyanggang@ithomer.com,yanggang_2050@163.com    -a From:463103470@qq.com
  效果截图
http://hi.csdn.net/attachment/201109/15/0_1316072917eb0k.gif
  方法二: 文本格式发送邮件
   view plaincopyprint?https://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  # !/bin/sh
[*]
[*]  from_name="from@yanggang"
[*]  from="yanggang@fruitsmobile.com"
[*]  to="yanggang_2050@163.com"
[*]
[*]  email_title="Test Mail"
[*]  email_content="/home/barry/top800/test/output_email.html"
[*]  email_subject="Top800_Games_Free_USA"
[*]
[*]  echo -e "To: \"${email_title}\" \nFrom: \"${from_name}\" \nSubject: ${email_subject}\n\n`cat ${email_content}`" | /usr/sbin/sendmail -t
  效果截图:
http://hi.csdn.net/attachment/201109/15/0_1316072815lSj6.gif
  方法三:html格式发送邮件
   view plaincopyprint?https://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  # !/bin/sh
[*]
[*]
[*]  from='yanggang@fruitsmobile.com'
[*]  to='yanggang_2050@163.com'
[*]
[*]  email_date=''
[*]  email_content='/home/barry/top800/test/output_email.html'
[*]  email_subject='Top800_Game_Free_USA'
[*]
[*]
[*]  function send_email(){
[*]  email_date=$(date "+%Y-%m-%d_%H:%M:%S")
[*]  echo $email_date
[*]
[*]  email_subject=$email_subject"__"$email_date
[*]  echo $email_subject
[*]
[*]  cat $email_content | formail -I "From: $from" -I "MIME-Version:1.0" -I "Content-type:text/html;" -I "Subject: $email_subject" | /usr/sbin/sendmail -oi $to
[*]
[*]  }
[*]
[*]  send_email
  效果截图:
  http://hi.csdn.net/attachment/201109/15/0_13160723790253.gif
  源码下载(linux shell 发送email 邮件)
  
  --------------------------------
  CentOS是一个非常不错的免费开源Linux系统,许多站点首选的平台。
  然而CentOS默认不能发送邮件,需要发送邮件的童鞋可以安装一个sendmail程序。
  安装sendmail
  执行: # yum -y install sendmail
  程序会自动搜索出sendmail安装程序自动安装,安装好sendmail以后执行以下命令启动sendmail
  # /etc/init.d/sendmail start
  Starting sendmail:                                       
  Starting sm-client:                                       
  启动以后我们可以执行mail命令测试一下是否能发送邮件
  一、通过文件内容发送邮件
  # mail -s 'Test mail' support@ithomer.net < /etc/passwd
  很快收到邮件了,正文是 /etc/passwd 文件的内容
  二、使用管道符直接发送邮件内容
  如果不想通过文件发送邮件内容也可以这么发送
  # echo "This is test mail" | mail -s 'Test mail' support@ithomer.net
  以上效果同文件发送邮件内容一样
  接不到邮件修改hostname
  hostnameabc.com
  如果提示mail: command not found
  # mail -s 'Test mail' support@ithomer.net < /etc/passwd
  -bash: mail: command not found
  那么就是没有安装mail命令,此时需要安装mail命令
  # yum install mailx -y
  然后再重新发送以下邮件就好了!
  检查邮件发送
  sendmail -bp

页: [1]
查看完整版本: shell发邮件