免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: iceberg9527
打印 上一主题 下一主题

关于Mail送信的头疼问题,求大神! [复制链接]

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
11 [报告]
发表于 2012-03-03 21:40 |只看该作者
回复 9# iceberg9527


找到它的pid,再杀。

论坛徽章:
0
12 [报告]
发表于 2012-03-05 15:45 |只看该作者
回复 10# winway1988


回答得太精彩了。
谢谢您!
能再问一个问题吗?现在我发邮件内容里有一句日文,客户端用OutLook接受到以后是乱码,需要手动改一下查看的编码才能够正常显示。
请问,在上面的脚本里能不能去指定编码啊?或者有什么办法让它显示起来不是乱码。
拜托了。

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
13 [报告]
发表于 2012-03-05 16:09 |只看该作者
本帖最后由 winway1988 于 2012-03-05 16:11 编辑

回复 12# iceberg9527


    我自己也没有用shell实现过,但是据我所知,编码的话,是在邮件格式里指定的,邮件的格式叫做MIME格式,类似这个
  1. Date: Mon, 5 Mar 2012 16:07:23 +0800
  2. From: smtptestsmtp <smtptestsmtp@163.com>
  3. To: ssmmttpp <ssmmttpp@163.com>
  4. Reply-To: smtptestsmtp <smtptestsmtp@163.com>
  5. Subject: subject
  6. X-Priority: 3
  7. X-Mailer: Foxmail 7.0.1.81[cn]
  8. Mime-Version: 1.0
  9. Message-ID: <201203051607239843640@163.com>
  10. Content-Type: text/plain;
  11.         charset="us-ascii"
  12. Content-Transfer-Encoding: base64

  13. Y29udGVudA0KDQoNCg0KDQpzbXRwdGVzdHNtdHA=
复制代码
也就是说你想发什么编码的邮件,你就需要自己构造什么样的邮件内容,这个可能对你有用http://snailwarrior.blog.51cto.com/680306/142497/。最后告诉你个我自己常用的方法,找一个mail客户端如foxmail、outlook,写好邮件,然后有个查询这封邮件mime格式的地方,你可以直接用这个当成邮件内容在shell里进行发送。如果你每次发送的都是变换的内容,那就只能自己在shell里按照mime格式够构造了。

论坛徽章:
0
14 [报告]
发表于 2012-03-06 10:22 |只看该作者
回复 13# winway1988


    真的非常感谢,看了你发的那篇文章,问题已经解决了!
    谢谢!

论坛徽章:
0
15 [报告]
发表于 2012-03-06 12:10 |只看该作者
似乎用perl的效果会更好些,个人意见。
  1. #!/usr/bin/perl -w

  2. use strict;
  3. use Net::SMTP;

  4. my $mailhost = 'smtp.xx.com';
  5. my $mailfrom = 'xxx';
  6. my @mailto = ('xxx','xxxx');

  7. my $user = '120@abc.cn';
  8. my $passwd = '123456';

  9. my $subject = 'hello';

  10. #my $text

  11. my $f_list = '/tmp/scp.log';
  12. open(FILE, $f_list) or die "Can not open list file\n";
  13. undef $/;
  14. my $text = <FILE>;


  15. my $smtp = Net::SMTP->new($mailhost, Timeout=>120, Debug => 1) or die "Error.\n";
  16. $smtp->auth('LOGIN', $user, $passwd);

  17. foreach my $mailto(@mailto) {
  18. $smtp->mail($mailfrom);
  19. $smtp->to($mailto);
  20. $smtp->data();
  21. $smtp->datasend("To: $mailto\n");
  22. $smtp->datasend("Frommailfrom\n");
  23. $smtp->datasend("Subject: $subject\n");
  24. $smtp->datasend("\n");
  25. $smtp->datasend("$text\n\n");
  26. $smtp->dataend();
  27. }

  28. $smtp->quit;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP