设为首页 收藏本站
查看: 1193|回复: 0

[经验分享] sendmail或mail 发带附件

[复制链接]

尚未签到

发表于 2015-11-25 10:45:40 | 显示全部楼层 |阅读模式
sendmail发附件问题
  
  
sendmail/mail 理论上在command line送信时只能传送文本文件。

你可以把二进制文件用 uuencode 编一下码,然后再发送。假设你有一个文件叫 a.tar.gz,你可以用:

uuencode a.tar.gz a.tar.gz | mail somebody@foo.bar

这样收信者收到后,存附件为x.tar.gz,接下来问题就有点不一样:

有些程序很聪明,可以直接解开它,比如 windows commander。大多数都不行,还需解码:

uudecode x.tar.gz

然后,相同目录下就会生成当时你所指定名字的文件 a.tar.gz,你可以用 tar 来测试一下时否正常,应该没问题,我已经试验过了
  
  
  
我也测试过,成功!还有如果加上主题如何做?谢谢!  
  
我在BSD下面可以这样子,不知你的系统怎样

uuencode a.tar.gz a.tar.gz | mail -s "hello, send you an attach."somebody@foo.bar       sendmail带附件发送perl脚本 (2007-07-17 11:55) 分类: 未分类

  
#!/usr/bin/perl
# Set Variables
$mailprog = "/usr/lib/sendmail";
# Your Email Address
$youremail = "name\@domain.com";
# Your Name
$yourname = "Hilton";
# Email Address of the recver
$email = "recver@domain.com";# Send file to user in email
open(MAIL, "|$mailprog -f $yourname -t $youremail") or die;
print "|$mailprog -f $yourname -t $youremail\n" ;# Create headers
print MAIL "From: $yourname\n";
print MAIL "To: $email\n";
print MAIL "Subject: File: $file (uuencoded)\n";
print MAIL "Hi\n,this is Hilton\n";# File to send to user
$file = "file1";
open(FILE, "uuencode $file $file |") or die;
while( <FILE>) { print MAIL; };
close(FILE);$file=&quot;file2&quot;;
open(FILE, &quot;uuencode $file $file |&quot;) or die;
while( <FILE>) { print MAIL; };
close(FILE);#and finish sending the mail
close(MAIL);        sendmail发附件需要用uuencode命令这个命令在sharutils组件中,可以远程安装
  apt-get install sharutils
yum install sharutils
  服务器上用sendmail发送email很关键的一条是/etc/mail/sendmail.mc中应该包含
  MAILER(local)
  这个设置的意思是允许发送来自127.0.0.1的email
  编辑好sendmail.mc,生成sendmail.cf文件
  #m4 sendmail.mc > sendmail.cf
  
然后启动sendmail
  #/etc/rc.d/init.d/sendmail start
  现在就可以发送email了 ^_^
  uuencode ~/abc.xls abc.xls | mail -s &quot;abc&quot; xxx@email.com

  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143328-1-1.html 上篇帖子: linux下架设sendmail邮箱_原理篇 下篇帖子: 服务器维护手记-crontab引起大量sendmail进程打死内存问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表