导航:首页 > 编程系统 > linuxmutt发送邮件

linuxmutt发送邮件

发布时间:2023-06-01 14:28:30

㈠ 如何在linux命令行中通过SMTP服务器发送电子邮件

假定你想配置一个 Linux 应用,用于从你的服务器或桌面客户端发送邮件信息。邮件信息可能是邮件简报、状态更新(如 Cachet)、监控警报(如 Monit)、磁盘时间(如 RAID mdadm)等等。当你要建立自己的 邮件发送服务器 传递信息时 ,你可以替代使用一个免费的公共 SMTP 服务器,从而避免遭受维护之苦。

谷歌的 Gmail 服务就是最可靠的 免费 SMTP 服务器 之一。想要从应用中发送邮件通知,你仅需在应用中添加 Gmail 的 SMTP 服务器地址和你的身份凭证即可。

使用 Gmail 的 SMTP
服务器会遇到一些限制,这些限制主要用于阻止那些经常滥用服务器来发送垃圾邮件和使用邮件营销的家伙。举个例子,你一次只能给至多 100
个地址发送信息,并且一天不能超过 500
个收件人。同样,如果你不想被标为垃圾邮件发送者,你就不能发送过多的不可投递的邮件。当你达到任何一个限制,你的 Gmail
账户将被暂时的锁定一天。简而言之,Gmail 的 SMTP 服务器对于你个人的使用是非常棒的,但不适合商业的批量邮件。

说了这么多,是时候向你们展示 如何在 Linux 环境下使用 Gmail 的 SMTP 服务器 了。

Google Gmail SMTP 服务器设置

如果你想要通过你的应用使用 Gmail 的 SMTP 服务器发送邮件,请牢记接下来的详细说明。

邮件发送服务器 (SMTP 服务器): smtp.gmail.com
使用认证: 是
使用安全连接: 是
用户名: 你的 Gmail 账户 ID (比如 "alice" ,如果你的邮箱为 [email protected]
密码: 你的 Gmail 密码
端口: 587

确切的配置根据应用会有所不同。在本教程的剩余部分,我将向你展示一些在 Linux 上使用 Gmail SMTP 服务器的应用示例。

从命令行发送邮件

作为第一个例子,让我们尝试最基本的邮件功能:使用 Gmail SMTP 服务器从命令行发送一封邮件。为此,我将使用一个称为 mutt 的命令行邮件客户端。

先安装 mutt:

对于 Debian-based 系统
$ sudo apt-get install mutt

对于 Red Hat based 系统:
$ sudo yum install mutt

创建一个 mutt 配置文件(~/.muttrc),并和下面一样,在文件中指定 Gmail SMTP 服务器信息。将 替换成自己的 Gmail ID。注意该配置只是为了发送邮件而已(而非接收邮件)。
$ vi ~/.muttrc
set from = "@gmail.com"set realname = "Dan Nanni"set smtp_url = "smtp://@smtp.gmail.com:587/"set smtp_pass = ""

一切就绪,使用 mutt 发送一封邮件:
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected]

想在一封邮件中添加附件,使用 "-a" 选项
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected] -a ~/test_attachment.jpg

使用 Gmail SMTP 服务器意味着邮件将显示是从你 Gmail 账户发出的。换句话说,收件人将视你的 Gmail 地址为发件人地址。如果你想要使用自己的域名作为邮件发送方,你需要使用 Gmail SMTP 转发服务。

当服务器重启时发送邮件通知

如果你在 虚拟专用服务器(VPS)
上跑了些重要的网站,建议监控 VPS 的重启行为。作为一个更为实用的例子,让我们研究如何在你的 VPS
上为每一次重启事件建立邮件通知。这里假设你的 VPS 上使用的是 systemd,并向你展示如何为自动邮件通知创建一个自定义的 systemd
启动服务。

首先创建下面的脚本 reboot_notify.sh,用于负责邮件通知。
$ sudo vi /usr/local/bin/reboot_notify.sh

#!/bin/sh

echo "`hostname` was rebooted on `date`" | mutt -F /etc/muttrc -s "Notification on `hostname`" [email protected]
$ sudo chmod +x /usr/local/bin/reboot_notify.sh

在这个脚本中,我使用 "-F" 选项,用于指定系统级的 mutt 配置文件位置。因此不要忘了创建 /etc/muttrc 文件,并如前面描述的那样填入 Gmail SMTP 信息。

现在让我们创建如下一个自定义的 systemd 服务。
$ sudo mkdir -p /usr/local/lib/systemd/system$ sudo vi /usr/local/lib/systemd/system/reboot-task.service

[Unit]
Description=Send a notification email when the server gets rebooted
DefaultDependencies=no
Before=reboot.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh

[Install]
WantedBy=reboot.target

在创建服务后,添加并启动该服务。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task

从现在起,在每次 VPS 重启时,你将会收到一封通知邮件。

通过服务器使用监控发送邮件通知

作为最后一个例子,让我展示一个现实生活中的应用程序,Monit,这是一款极其有用的服务器监控应用程序。它带有全面的 VPS 监控能力(比如 CPU、内存、进程、文件系统)和邮件通知功能。

如果你想要接收 VPS 上由 Monit 产生的任何事件的邮件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。

set mailserver smtp.gmail.com port 587
username "" password ""
using tlsv12

set mail-format {
from: @gmail.com
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.

Yours sincerely,
Monit
}

# the person who will receive notification emails
set alert [email protected]

这是一个因为 CPU 负载超载而由 Monit 发送的邮件通知的例子。

㈡ 求助:如何在Linux下发送邮件

Linux服务器发送邮件一般都是基于sendmail进行的,sendmail服务器提供对外的邮件发送功能。

1.安装sendmail服务器安装方法:

#sudoapt-getinstallsendmail

2.然后通过ps查看是否有sendmail进程,如果存在,则安装成功:

#ps-ef|grepsendmail
root12821013:39?00:00:00sendmail:MTA:acceptingconnections

3.成功安装sendmail后,就可以向邮件账户发送邮件了,编辑如下文件a.sh,通过chmod 更改权限后执行就可以。

#!/bin/bash
/usr/sbin/sendmail-t<<EOF
From:Mailtest
Sender:
To:[email protected]
Cc:[email protected]
Subject:mailtesting
----------------------------------
Thisisthemailcontent...
muhaha
---------------------------------
EOF

㈢ 有人会使用linux脚本发送邮件吗

1、编辑用户Home目录下的.muttrc文件,设置发信环境。
# cat /root/.muttrc
set envelope_from=yes
set [email protected]
set realname="Owinux"
set use_from=yes
set rfc2047_parameters=yes
set charset="utf-8"
2、发信脚本
# cat automail.sh
#!/bin/sh
# automail.sh
DIR=/root/owinux
mailcontent=$DIR/mailcontent
> "$mailcontent"
echo -e "owinux,您好!\n" >> $mailcontent
echo -e "含粗\t附件为 `date +%Y-%m-%d` 设备日检报告,敬请查收。" >> $mailcontent
cat mailcontent | /usr/bin/mutt -s "设备日检报告" -a /root/owinux/report.xls [email protected] -c [email protected] -c [email protected]
3、简要说纳山明:

-s:指定主题
-a:附件
-c:抄送,需要抄送多人的话,须使用多个 -c 选项

使用上面的发信环境可以保证在页面查看邮件的时候,附件名不出现乱码。
其中 .muttrc 的 "set from"可以随便谈茄镇设置,可以是不存在的邮箱地址,当然正确的最好。

㈣ linux shell脚本编写,显示文件目录发送mail

#!/bin/bashcount=`ls -1 /full/path/to/abc | wc -l`if [ $count -gt 4 ]; then
echo | /usr/local/bin/困慎mutt -s "abc目录文尺烂件超过4个陵尺漏" [email protected] ;
fi

㈤ linux 下如何发送带附件的邮件

如果这两个都不能用,那么可以用 mail命令。如果你能确认你的邮件服务器支持 8-bit 的字节, 可以直接用 cat <附件文件名 | mail <邮件地址 不过很多邮件服务器不支持 8-bit 字节,所以最好使用 uuencode 命令。先写好邮件, 比如叫 mymail, 然后uuencode <附件文件名 <附件文件名 mymail 或者cat <附件文件名 | uuencode <附件文件名 mymail 然后编辑你的 mymail 文件, 在前面写上信的正文。 然后寄出。收到信后, 把信中属于 mymail 的部分拷贝出来, 存为 themail.uue。如果对方是在 windows 下, 就可以用 winzip 7.0 解压, 即可得到附件。
如果对方在 linux 下, 可以用 uudecode 还原:uudecode -o <附件文件名 themail.uue cat <附件文件名 | mail <邮件地址 如果有多个文件要处理, 那么就重复执行上述步骤, 不过这样收到邮件后对每个邮件需要分别处理。当然压缩一下会得到更好的效果, 这样邮件长度会大大降低。 附件文件名就是压缩后的文件名。 老大,这样不是很麻烦,有没有像这样的 mail -s hello -xx /tmp/ss.exe [email protected] 没有 用pine,很简单的. 一般redhat都带. way1: uuencode file1 file1 | mail -s "title" mail@address way2: mutt -s "title" -a /dir/file1 mail@address 上面的方法2会启动编辑器来写正文,也可以先编辑好邮件内容,mailcontent.txt # cat mailcontent.txt | mutt -s "title" -a attachfile1 mail@address 就不会启动编辑器了。 way1: uuencode file1 file1 | mail -s "title" mail@address 执行此命令后没很久陵液睁埋磨都没有反应, way2: mutt -s "title" -a /dir/file1 mail@address 系统中没有mutt这个东东,我的是bsd4.7 uuencode file1 file1 | mail -s "asdf" [email protected] 没反应? 是不是你的file1太尺岁大啦?编码要很久? 我也是从人家那里学到的,而且成功地发送了不下一百封信。

㈥ 有人会使用linux脚本发送邮件吗

1.开启邮件服务
echo "邮件内容" | mail -s “主题” 邮箱地址

㈦ linux用mutt+esmtp发邮件时提示寄送讯息出现错误

这一般是设置文件出现问题了(我使用的软件包msmtp-1.4.17.tar.bz2

1、确保你的 /root/.msmtprc 文件中关于邮箱的设置正确

正确设置格式(我这里使用的是126邮箱):

defaults
logfile /var/log/msmtp/msmtp.log #日志文件,需要手动建立
accountwang5 #账号
host smtp.126.com #使用的转发邮箱
port 25
from [email protected] #要从哪个邮箱发出
auth login #认证方式,不要使用on ,会报错
tls off
userwang5 #邮箱用户名
password xxxxxxxxx #邮箱密码
account default :wang5

修改后改变权限:chmod 600 /root/.msmtprc

2、对mutt进行设置

先安装:yum install -y mutt

安装完成后修改配置文件

vim /etc/Muttrc

在最后添加:

set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径,我这里是源码安装

set use_from=yes

set realname="[email protected]"

set editor="vim"

3、确保无误后可以进行测试了

[root@localhost~]#echo "邮件1" | mutt -s "测试" 136000101XX@qq.com


内容 标题目标邮箱

运行后可以到[email protected]邮箱看到邮件内容了

截图:

㈧ 我的是linux centos7.2 用mutt或者emll发送邮件 没有提示错误 但是我收不到邮件 是什么原因

自己发给自己?
查看下日志文件分析一下

㈨ 新装的linux系统,在命令行下发送网络邮件的问题

如果使用linux发邮件,需要你对邮件系统有一定了解,这个相当复杂。
mail是邮件客户端,类似的有mutt。
而发邮件需要有mailserver的配合,例如smtpd / postfix / qmail等的配合。
客户端上可以设置使用的发件服务器,例如163。默认使用本机的邮件服务器,因为linux自身就是邮件服务器主机。
但目前的邮件发送还需遵循相关要求,例如反垃圾邮件过滤,你的邮件服务器必须进行注册才允许和大型邮件系统互通并且不被识别为垃圾。对于个人来说,基本不可能。

㈩ 如何用linux制作邮件系统发件箱界面设计及代码

Red Hat上sendmail服务一般是自动启动的。可以通过下面的命令查看sendmail服务的状态:
service sendmail status
如果sendmail服务未启动可以使用如下命令启动:
service sendmail start
【注意】每次修改网络配置后(如修改IP,主机名等),都要重新启动sendmail服务,否则发送邮件会失败。
使用mail命令发送Internet邮件的最简单的语法形式为:
mail username@address
下面是一个发送邮件的简单示例:
Subjiect:是邮件的主题
下面是邮件的正文
【注意】这里的Cc:是按Ctrl+D键后的现实结果,不属于邮件内容
检查邮件是否发送成功可以使用下面的命令:
sendmail–bp
若显示“/var/spool/mqueueisempty”的信息,表示邮件发送成功。打开子自己的邮箱就可以看见邮件发送成功状态。
若显示其他错误信息,邮件肯定发送失败了。一般情况下需要重启sendmail服务。
这也是为什么提sendmail服务的原因。
如果想把一个文本文件的内容当做电子邮件的内容,则可以使用下面的命令:
mail-s“subject”username@address

catfilename|mail-s“subject”username@address
参数-s表示邮件的主题
例如:
mail-s“Atestmailfile”[email protected]
mail命令不能发送附件,如果要发送附件,推荐安装mutt邮件客户端的RPM软件包。
使用-a参数指定附件,其他参数与mail命令类似:
例如:
mutt-s“testmutt”-a/root/[email protected]
mutt是一个非常强大的软件。

阅读全文

与linuxmutt发送邮件相关的资料

热点内容
苹果A1622什么版本 浏览:814
linux查看目录所有文件大小 浏览:674
拿快递露奶电影 浏览:38
登山的目的中文2电影中文字 浏览:887
国外男男大尺度电影 浏览:902
有天资榜的小说叶凌天 浏览:407
团鬼六最新电影 浏览:266
苹果6设置id怎么设置密码 浏览:278
一个小孩被绑架的搞笑电影叫什么 浏览:868
一龙二凤小说 浏览:358
电影不卡免费在线看 浏览:797
妻子是美容院的老板韩国 浏览:641
win10激活cdkey 浏览:861
不要网看电影' 浏览:103
安卓文件夹播放 浏览:402
一部韩国电影讲的四对恋人有一对在电影院 浏览:812
微信语音消息怎么保存在哪里 浏览:462
分身qq的文件在哪里 浏览:65
禁止事件加载js 浏览:681
床边目击者台湾巴巴鱼 浏览:221

友情链接