转载:http://www.365freshdays.com/?p=6
方式一:mutt命令
mutt获取地址:http://www.mutt.org/
使用方法可以参见:mutt -v, 其常用的参数有 -s、-c、-a等参数,如果要发送中文且$LANG不是zh_CN,则需要执行命令export LANG=zh_CN,例如:
echo "内容" | mutt -s "邮件标题" -a "$HOME/test.log" -c "[email protected]" "[email protected]"
方式二:mail命令
相关资源:http://linux.about.com/od/commands/l/blcmdl1_Mail.htm mail命令发送,其参数具体见man mail命令结果,如果要发送中文且$LANG不是zh_CN,则需要执行命令export LANG=zh_CN,邮件发送实例如下:
mail -s "主题" "[email protected]" < ~/.bash_profile
=====================
转载:http://junfengwang060905.blog.163.com/blog/static/94223330201012411718694/
Linux邮件命令用法
1. 将文件当做电子邮件的内容送出
语法:mail -s “主题”用户名@地址< 文件
例如:
mail -s “program” user < file.c 将file.c
当做mail的内容,送至user,主题为program。
2. 传送电子邮件给本系统用户
语法:mail 用户名
3. 传送电子邮件至外地用户
语法: mail 用户名@接受地址
.../usr/lib/sendmail -bp
......“Mail queue is empty” ......mail ....
例如:
[email protected]
Subject : mail test
:
键入信文内容
: :
按下Ctrl+D 键或. 键结束正文。
连按两次Ctrl+C键则中断工作,不送此信件。
Cc( Carbon copy) : 复制一份正文,给其他的收信人。
4. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。
==========
转载:linux发送邮件的shell脚本
#!/bin/sh function echo_help(){ ?echo "Usage:" ?echo "sh mailto.sh -to mailaddr -file messagefilename [-from frommailaddr] [-subject mailsubject] [-fname showname] [-tname toshowname]" } email="[email protected]" emailname="Test Mail" messagebody="tmp.tmp" from="[email protected]" fromname="MailReport" subject="Mail Report" until [ $# -eq 0 ] do ?tmpV=$1 ?if [ $tmpV = "-from" ] ; then ??shift ??tmpV=$1 ??from=$tmpV ?elif [ $tmpV = "-to" ] ; then ??shift ??tmpV=$1 ??email=$tmpV ?elif [ $tmpV = "-subject" ] ; then ??shift ??tmpV=$1 ??subject=$tmpV ?elif [ $tmpV = "-file" ] ; then ??shift ??tmpV=$1 ??messagebody=$tmpV ?elif [ $tmpV = "-fname" ] ; then ??shift ??tmpV=$1 ??fromname=$tmpV ?elif [ $tmpV = "-tname" ] ; then ??shift ??tmpV=$1 ??emailname=$tmpV ?elif [ $tmpV = "--help" -o $tmpV = "-h" ] ; then ??echo_help ??exit 1 ?fi ?shift done if ! test -f ${messagebody} ; then ?echo "${messagebody} not exists!" ?echo_help ?exit 2 fi echo "begin send..." echo -e "To: /"${emailname}/" /nFrom: /"${fromname}/" /nSubject: ${subject}/n/n`cat ${messagebody}`" | /usr/sbin/sendmail -t echo "send OK."
=============
转载:Linux 发送邮件 及附件等 python 脚本实现
发一下我以前在网上找到的脚本并做了简单的修改. 相信可以满足大家的需求. 脚本是Python的, 相信在大家的Linux服务器上都是可以直接运行的, 但需要2.5版本以上.
大家可以自己去修改里面的内容来适应大家各自的需要.
#coding=utf-8 #! /usr/lib/python2.5/bin/python import os import sys from smtplib import SMTP from email.MIMEMultipart import MIMEMultipart from email.mime.application import MIMEApplication import time def sendFildByMail(config): print 'Preparing...' message = MIMEMultipart( ) message['from'] = config['from'] message['to'] = config['to'] message['Reply-To'] = config['from'] message['Subject'] = config['subject'] message['Date'] = time.ctime(time.time()) message['X-Priority'] = '3' message['X-MSMail-Priority'] = 'Normal' message['X-Mailer'] = 'Microsoft Outlook Express 6.00.2900.2180' message['X-MimeOLE'] = 'Produced By Microsoft MimeOLE V6.00.2900.2180' f=open(config['file'], 'rb') file = MIMEApplication(f.read()) f.close() file.add_header('Content-Disposition', 'attachment', filename= os.path.basename(config['file'])) message.attach(file) print 'OK' print 'Logging...', smtp = SMTP(config['server'], config['port']) # 如果SMTP服务器发邮件时不需要验证登录则对下面这行加上注释 smtp.login(config['username'], config['password']) print 'OK' print 'Sending...', smtp.sendmail (config['from'], [config['from'], config['to']], message.as_string()) print 'OK' smtp.close() time.sleep(1) if __name__ == "__main__": if len(sys.argv) < 2: print 'Usage: python %s ' % os.path.basename(sys.argv[0]) #sys.exit(-1) else: #587, 25 sendFildByMail({ 'from': "[email protected]", 'to': '[email protected]', 'subject': '[pysend]Send file %s' % sys.argv[1], 'file': sys.argv[1], 'server': 'smtp.163.com', 'port': 25, 'username': '********', 'password': '*********'}) wait=raw_input("end.")
===
相关链接
Linux发送邮件:mutt中级技巧
Linux发送邮件客户端mutt入门
Linux下发送邮件命令:mutt 和 mail 以及 脚本