linux 使用msmtp登陆指定账户发送邮件

linux可以直接用mail发送邮件给对方,但是这种邮件,容易被QQ邮箱或者其他邮箱拦截掉

所以必须用指定账户发送邮件,才不会拦截。

msmtp 是一个SMTP 客户端。

在默认情况下,它把邮件送给负责发邮件的SMTP 服务器

安装msmtp

下载最新版本

http://iweb.dl.sourceforge.net/project/msmtp/msmtp/1.6.3/msmtp-1.6.3.tar.xz

tar xvf msmtp-1.6.3.tar.xz -C /usr/src

cd /usr/src/msmtp-1.6.3

./configure --prefix=/usr/local/msmtp

make

make install

建立软链接

ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp

创建配置文件目录

mkdir /usr/local/msmtp/etc

编辑配置文件

vim /usr/local/msmtp/etc/msmtprc

内容如下:

主要修改红色部分

# Set default values for all following accounts.

defaults

logfile /var/log/msmtp/msmtp.log

# The SMTP server of the provider.

account qms

# SMTP邮件服务器地址

host smtp.qq.com

# 发送的邮件Email

from [email protected]

auth login

# 邮件服务器登录账号

user [email protected]

# 邮件服务器登陆密码

password [email protected]

# Set a default account

account default : a

测试msmtp配置,发送给对方

msmtp [email protected]

输入test

然后按CTRL+c结束

登陆163邮箱,会收到一个空邮件,说明成功了。

mutt是一款基于文字界面的邮件客户端,它需要一个发信的程序,也就是上面的msmtp

安装mutt

yum install -y mutt

创建默认的日志目录

mkdir /var/log/msmtp/

编辑配置文件

vim /etc/Muttrc

倒数第2行添加蓝色部分,红色部分是需要修改的,效果如下:

# attributes when using a mono terminal

#mono header underline ^(From|Subject):

mono quoted bold

set sendmail=‘/usr/bin/msmtp‘

set use_from=yes

set realname=‘服务器报警‘

set from=[email protected] envelope_from=yes

auto_view text/html

set charset=‘utf-8‘

set send_charset=‘utf-8‘

set locale =‘zh_CN.UTF-8‘

set content_type = ‘text/html\;charset=utf-8‘

set rfc2047_parameters=yes

source /etc/Muttrc.local

测试发送一份邮件

echo "测试test"|mutt -s "test" [email protected]

登陆163邮箱

会收到一封

主题为: 服务器报警

内容为: 测试test

的邮件

这样,shell脚本就可以调用它来发送邮件了。

时间: 2024-10-25 09:05:24

linux 使用msmtp登陆指定账户发送邮件的相关文章

Linux自动向指定用户发送邮件

Linux自动向指定用户发送邮件 实现Linux向用户发送指定主题和指定内容的邮件,可以用mailx软件,mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件. 一.安装mailx [[email protected] ~]# yun -y install mailx 二.配置文件 配置文件放置于etc目录下面,名字为/etc/mailx. 之前看过无数修改配置文件的帖子,感觉对于我来说太麻烦,而且我使用mail发送邮件时不会向太多的人同时范松邮件,因此我采取不修改配置文件,而

Linux系统下授权MySQL账户访问指定数据库和数据库操作

Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全操作权限 ====================================================================== 操作如下: 1.登录MySQL数据库 mysq  -uroot  -p    #在终端命令行输入 123456         #输入密码 2.sh

Linux字符界面下用户账户的设置

在Linux系统字符界面下创建.修改以及删除用户账户主要使用useradd,usermod和userdel这3个命令. 一.创建用户账户 创建用户账户就是在系统中创建一个新账户,然后为新账户分配用户UID.用户组群.主目录和登录shell等资源,新创建的用户账户默认是被锁定的,无法使用,需要使用passwd命令设置密码后才能使用.创建用户账户就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow,/etc/group等. 使用 useradd命令可以

克隆虚拟机和linux机器相互登陆。

一:克隆虚拟机.在要克隆的虚拟机上点右键-->管理-->克隆.根据提示,选择链接克隆,完成后启动克隆的虚拟机.进入linux系统后,编辑网卡vi /etc/sysconfig/network-scripts/ifcfg-ens33删除掉UUID一行,因为会与原主机冲突,并修改ip.重启网卡:systemctl restart network.service启动原主机,修改两个主机的主机名.hostnamectl set-hostname 主机名 二:linux机器互相登陆.ssh 服务器ip或

linux下使用自带mail发送邮件

linux下使用自带mail发送邮件 linux 发邮件最简单的办法 最近想通过linux监控系统状况并自动报警,一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序. mail安装及配置具体步骤如下: 1.安装 [[email protected] ~]# yum install mailx 2.编

为Linux集群创建新账户,并配置hadoop集群

转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策,linux对用户访问权限很严格,新创的hod账户根本无法启动hadoop,而root在hod模式下使用torque是不被建议的,所以只能用hod账户再重新装一遍. 创建用户.设置密码.修改用户.删除用户: useradd testuser   创建用户testuserpasswd testuser

Linux FTP自动登陆下载备份,上传文件脚本

使用远程的服务器,对另外一台远程的服务器进行FTP操作,速度要比本地机器操作快很多. 之前写过一篇关于FTP如何手工的在Linux进行远程操作, 今天找到一个自动批量的脚本,感觉很好.满足了我的需要. 我的A网站在香港 我的B服务器Linux的在国内.这样就可以把A网站自动备份到B服务器了. 希望本篇博客能给需要的同学一些帮助. #####从ftp服务器上的/home/data 到 本地的/home/databackup#### #!/bin/bash ftp -n<<! open 192.1

Linux SendMail 使用外部SMTP服务发送邮件

前言 现在sendmail服务是Linux系统自带服务,默认可能没有启动. 本文不是讲解如何搭建本地mail服务器,而仅仅是作为客户端,使用外部smtp服务发送邮件,因此无需启动sendmail服务. 学习笔记,以备查阅. 1.Sendmail配置 配置发生邮件的邮箱认证信息 vi /etc/mail.rc --- 增加如下内容 --- 1 set [email protected] 2 set smtp=mail.your-domain.com 3 set smtp-auth-user=you

演示账号激活的过程:注册——&gt;向指定邮箱发送邮件——&gt;用户登录邮箱,激活账号

今天无意间找到了大学时写的一个功能模块,整理了一把,没做太大的改动,不由得感慨--那时写的代码实在是......呵呵呵,不过这个模块的逻辑过程是对的,现将其贡献出来: 本工程用于演示账号激活的过程:注册-->向指定邮箱发送邮件-->用户登录邮箱,激活账号 本工程编码方式:UTF-8 须执行的sql语句: create database `test`; create table `user` ( `id` char(36) not null comment '用户id', `userName`