发送邮件怎么 *** 作

发送邮件怎么 *** 作,第1张

Linux下使用mail命令发送邮件

Linux邮件程序本身调用sendmail发送邮件,sendmail服务器提供外部邮件发送功能。CentOS默认不能发邮件。需要发邮件的童鞋可以安装一个sendmail程序。

[root@ProxyServer ~]# yum -y install sendmail [root@ProxyServer ~]# /etc/init.d/sendmail start Starting sendmail:                                         [  OK  ] Starting sm-client:                                        [  OK  ] [root@ProxyServer ~]# chkconfig sendmail on [root@ProxyServer ~]# man mail ......        mailx [-BDdEFintv~] [-s subject] [-a p_w_upload ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h hops] [-A account]               [-S variable[=value]] to-addr . . .        mailx [-BDdeEHiInNRv~] [-T name] [-A account] [-S variable[=value]] -f [name]        mailx [-BDdeEinNRv~] [-A account] [-S variable[=value]] [-u user] ......

1.通过命令行发送邮件。

[root@ProxyServer ~]# mail -s "test" [email protected]  dfdafd dfadf fadf EOT [root@ProxyServer ~]#

第一行是输入命令,-s表示邮件的主题,后面的[email protected]是邮件的收件人。输入这行命令后,按回车键,就进入了邮件正文的编写。您可以输入任何文本,例如上面的三行。当电子邮件的文本输入后,您需要按CTRL+D来结束输入。这时会提示你输入抄送地址,也就是邮件抄送地址。你可以不按回车键直接发送邮件。

2.使用管道发送邮件。

[root@ProxyServer ~]# echo "hello,echo"|mail -s "echo" [email protected]

使用管道直接键入这一行命令来完成电子邮件的发送,其中回显后跟电子邮件正文。

3.使用文件发送邮件。

[root@ProxyServer ~]# mail -s "password" [email protected] < /etc/passwd

使用上述命令后,我们可以将/etc/passwd文件的内容作为电子邮件的内容发送给[email protected]

在很多情况下,我们还需要通过邮件发送附件。在linux下通过邮件发送附件也很简单,但是首先我们需要安装UUECODE软件包。这个程序对二进制文件进行编码,使它们适合通过邮件发送。直接使用centos的Yum源可能找不到UUECODE命令的包sharutils。我这里用的是网易yum源码。

[root@ProxyServer yum.repos.d]# yum -y install sharutils [root@ProxyServer yum.repos.d]# uuencode CentOS6-Base-163.repo 163_yum_repo |mail -s "附件" [email protected] < /etc/passwd [root@ProxyServer yum.repos.d]#

文件CentOS6-Base-163.repo作为电子邮件的附件发送。Uuencode有两个参数,第一个是要发送的文件CentOS6-Base-163.repo,第二个是显示的文件名163_yum_repo。

4.使用外部SMTP(QQ的SMTP)发送邮件。

默认情况下,Bin/mail将使用本地sendmail发送邮件,这需要本地计算机安装并启动Sendmail服务。通过修改配置文件/etc/mail.rc(/etc/nail.rc),可以使用外部SMTP服务器代替sendmail发送邮件。

[root@ProxyServer ~]# vim /etc/mail.rc          #文末添加以下  set [email protected]   set smtp=smtp.51cto.com  set [email protected]   set smtp-auth-password=51cto   set smtp-auth=login [root@ProxyServer ~]# source /etc/mail.rc [root@ProxyServer ~]# mail -s "51cto" 15001*****@139.com < /etc/passwd

From:发送的邮箱地址(真实地址,我测试的时候直接写了justin,发送邮件失败),对方显示的发件人。

Smtp:发生错误的外部smtp服务器的地址

Smtp-auth-user:由外部Smtp服务器验证的用户名

Smtp-auth-password:由外部Smtp服务器验证的用户的密码

Smtp-auth:邮件认证的方式


如果提示您发送邮件:未找到命令

[root@ProxyServer ~]# mail -s "password" [email protected] < /etc/passwd -bash: mail: command not found

则不安装邮件命令,此时需要安装邮件命令

[root@ProxyServer ~]# yum install mailx -y [root@ProxyServer ~]# rpm -qa|grep mail libreport-plugin-mailx-2.0.9-19.el6.x86_64 mailx-12.4-7.el6.x86_64 procmail-3.22-25.1.el6.x86_64 mailcap-2.1.31-2.el6.noarch sendmail-8.14.4-8.el6.x86_64 [root@ProxyServer ~]#

5.邮件日志在日志下面

[root@CHINFO3 ~]# cd /var/log/ [root@CHINFO3 log]# cat mail mail/      maillog    maillog.1  maillog.2  maillog.3  maillog.4   [root@CHINFO3 log]# cat mail

6.使用sendmail-bp或mailq查看邮件发送队列,该队列将列出几封等待发送的邮件。

[root@CHINFO3 mqueue]# mailq /var/spool/mqueue (5 requests) -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient----------- tB36BqUi005128     1716 Thu Dec  3 14:11 <infa@chinfo3>                  (Deferred: mx.263.net.: No route to host)  <[email protected]> tB21TicN013397      415 Wed Dec  2 09:29 <infa@chinfo3>                  (Deferred: mx.263.net.: No route to host)  <[email protected]> ...... [root@CHINFO3 mqueue]# sendmail -bp /var/spool/mqueue (5 requests) -----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient----------- tB36BqUi005128*    1716 Thu Dec  3 14:11 <infa@chinfo3>                  (Deferred: mx.263.net.: No route to host)  <[email protected]> tB21TicN013397      415 Wed Dec  2 09:29 <infa@chinfo3>                  (Deferred: mx.263.net.: No route to host)  <[email protected]> ...... [root@CHINFO3 mqueue]#

邮件队列的文件保存在/var/spool/mqueue/文件夹中。查看此文件夹时,您可以看到邮件队列中的邮件:

[root@CHINFO3 mqueue]# pwd /var/spool/mqueue [root@CHINFO3 mqueue]# ls dftB111d4Q031164  dftB213omV012806  dftB36BqUi005128  qftB117J4b006323  qftB21TicN013397 dftB117J4b006323  dftB21TicN013397  qftB111d4Q031164  qftB213omV012806  qftB36BqUi005128 [root@CHINFO3 mqueue]#

如果需要删除队列,只需清除空文件夹:

[root@CHINFO3 mqueue]# pwd /var/spool/mqueue [root@CHINFO3 mqueue]# ls dftB111d4Q031164  dftB213omV012806  dftB36BqUi005128  qftB117J4b006323  qftB21TicN013397 dftB117J4b006323  dftB21TicN013397  qftB111d4Q031164  qftB213omV012806  qftB36BqUi005128 [root@CHINFO3 mqueue]# rm -f * [root@CHINFO3 mqueue]# ls [root@CHINFO3 mqueue]# mailq /var/spool/mqueue is empty Total requests: 0 [root@CHINFO3 mqueue]#


或者直接发送电子邮件,

Send是一个轻量级、小型且无需安装的电子邮件发送命令。下载下来,解压就可以用了。不要把它和sendmail混淆。官方网站地址:http://caspian.dotconf.net/menu/Software/SendEmail/

[root@Zabbix_Server ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz [root@Zabbix_Server ~]#  tar zxvf sendEmail-v1.56.tar.gz  [root@Zabbix_Server ~]# cp -a sendEmail-v1.56/sendEmail /usr/local/bin/ [root@Zabbix_Server ~]# ll /usr/local/bin/sendEmail  -rwxr-xr-x 1 root root 80213 Sep 30  2009 /usr/local/bin/sendEmail [root@Zabbix_Server ~]#  sendEmail -h

-f表示发件人的邮箱

-t表示收件人的邮箱。

-cc的意思是把cc发给谁?

-密件抄送是指抄送给谁?

-omessage-content-type=html消息内容的格式,html表示是html格式。

-omessage-charset=utf8消息内容代码

-s表示SMTP服务器的域名或ip。

-u表示消息的主题。

-xu表示用于SMTP验证的用户名。

-xp表示SMTP认证的密码(注意这个密码好像有限制,比如我用D!5neyland无法正确识别)

-m消息的内容。

-要发送的附件

[root@Zabbix_Server sendEmail-v1.56]# /usr/local/bin/sendEmail -s smtp.51cto.com -xu [email protected] -xp 51cto2016 -f [email protected] -t [email protected] -u test -m 123456 -o message-content-type=text -o message-charset=gb2312  Sep 20 10:20:19 zabbix_server sendEmail[6090]: Email was sent successfully! [root@Zabbix_Server sendEmail-v1.56]#

发送成功后,会有如下提示:

7月29日15:02:53e10074sendEmail[26347]:邮件发送成功!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/779727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存