Unix/Linux 系统自动化管理: 邮件系统篇(7)

清单 9. 自动发送邮件的 Perl 脚本
#!/usr/bin/perl # 将要使用 sendmail 来发送邮件 my $mailprog = "/usr/sbin/sendmail"; # 发送者的邮件地址 my $ senderemail = "sender\@cn.ibm.com"; # 发送者的名字 my $sender = "sender"; # 发送时的时间 my $datestring=`date +%m.%d.%Y`; # 接收者的 email 地址 my $email = "receiver\@cn.ibm.com"; # Send file to user in email open(MAIL, "|$mailprog -f $sender -t $senderemail") or die; # 创建发送邮件的头 print MAIL "From: $sender\n"; print MAIL "To: $email\n"; # 主题 print MAIL "Subject: Automation test on SELS $datestring\n"; #email 的信件内容 print MAIL "Hi All\nthis is the automation test result on $datestring. Please check the attached files.\n"; # 第一个附件 $file = "/tmp/28279.txt"; open(FILE, "uuencode $file $file |") or die; print MAIL <FILE>; close(FILE); # 第二个附件 $file="/tmp/28280.txt"; open(FILE, "uuencode $file $file |") or die; while( <FILE>) { print MAIL; }; close(FILE); # 完成邮件发送 close(MAIL);  

AIX 的 sendmail 配置

AIX 的 mail 系统中最重要的三个组成部分是用户接口 (the user interface)、消息路由程序 (the message routing program) 和消息投递程序 (the message delivery program) 或 mailer。AIX 系统中的 mail 程序就是所谓的用户接口 (the user interface),它对应上文提到的邮件用户代理 MUA;sendmail 程序就是所谓的消息路由程序 (the message routing program),它对应前面所说的邮件传输代理 MTA。在传递邮件的时后,如有必要,sendmail 命令将与远程系统建立 TCP/IP 连接 , 然后使用 SMTP 传递邮件到远程系统。

AIX 邮件系统的工作原理和配置,和 Linux 基本都相同,特殊的地方有以下几点。

生成配置文件的脚本的位置

/usr/samples/tcpip/sendmail/cf/aixsample.mc 被用来生成 sendmail 相应的配置文件。

sendmail daemon 启动和关闭的方式

启动 sendmail:

startsrc -s sendmail  

关闭 sendmail:

stopsrc -s sendmail  

通过 SMTP 服务器发 Internet 邮件

在使用 SMTP 代理的情况下,sendmail 需要对 /etc/sendmail.cf 配置文件中的 DS 项进行修改。DS 项是指被用来转发邮件的主机。注意,该配置项修改以后,sendmail daemon 必须重启才能生效。/etc/sendmail.cf 文件的具体的修改内容如清单 10 所示。



清单 10./etc/sendmail.cf 文件的修改内容
# "Smart" relay host (may be null) DS[SMTP 的主机 IP]  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjsgp.html