当前位置: 首页 > 编程日记 > 正文

CentOS搭建msmtp+mutt实现邮件发送

1:搭建配置msmtp

下载msmtp包:

官方地址:http://msmtp.sourceforge.net/download.html

编译,安装(官方下载的包为tar.xz格式):

#xz -d msmtp-1.6.3.tar.xz
#tar -xvf msmtp-1.6.3.tar
#cd msmtp-1.6.3
#./configure --prefix /opt/apps/msmtp
#make && make install

新建并配置msmtprc文件:

#mkdir /opt/apps/msmtp/etc
#vi /opt/apps/msmtp/etc/msmtprc
# Set default values for all followingaccounts.
defaults
logfile /var/log/msmtp.log
# The SMTP server of the provider.
account service
# SMTP邮件服务器地址
host smtp.163.com
#端口
port 25
# 发送的邮件Email
from mh_chen001@163.com
auth login
# 邮件服务器登录账号
user mh_chen001
# 邮件服务器登陆密码
Password password     ------------注意这里应该配置163邮箱的客户端授权验证码
# Set a default account
account default : service

测试msmtp是否能够发送邮件:

#/opt/apps/msmtp/bin/msmtp  user@yourmail.com

如果能收到邮件,msmtp则正常工作。

2:安装配置mutt

 安装:

#yum -y installsharutils.x86_64

 配置mutt,修改如下配置:

#vi/etc/Muttrc
setsendmail="/opt/apps/msmtp/bin/msmtp"
set use_envelope_from=yes
set from=mh_chen001@163.com
setrealname="mh_chen001"
set use_from=yes

 测试mutt邮件发送:(带附件)

#echo 'Hello!This is the statics of the Method and Method_costTime today,please check!' |mutt -s "Method and costTime statics" -a Method_Statistics_2015.12.22.tar.gz-- user@yourmail.com

 查看邮件日志:

#tail -f  /var/log/msmtp.log
Dec 1506:50:54 host=smtp.163.com tls=off auth=on user=mh_chen001from=mh_chen001@163.com recipients=359275330@qq.com mailsize=4958 smtpstatus=250smtpmsg='250 Mail OK queued as smtp7,C8CowEA50Fdm8nhWWf0SAA--.3655S21450766951' exitcode=EX_OK

 从日志中可看到发送状态250,邮件发送成功,登录客户端查看邮件:

wKioL1Z5AjnjhhNyAAB7hurKpvw939.png

 邮件发送正常,附件正常。


相关文章:

Linux环境下的堆栈--调试C程序

完整的调试过程&#xff0c;跟踪堆栈变化&#xff0c;32位下。 注意64位和此不同。 a.c代码&#xff1a; #include <stdio.h> int main() { AFunc(5,6);return 0; } int BFunc(int i,int j) {int m 1;int n 2;m i;n j; return m; }int AFunc(int i,int j) {…

听说过代码洁癖,Bug洁癖怎么解?

来源 | Python编程时光&#xff08;ID: Cool-Python&#xff09;当我们写的一个脚本或程序发生各种不可预知的异常时&#xff0c;如果我们没有进行捕获处理的时候&#xff0c;通常都会致使程序崩溃退出&#xff0c;并且会在终端打印出一堆 密密麻麻 的 traceback 堆栈信息来告诉…

POJO、VO、PO、FormBean区别:

首先讲一下四者的概念 POJO&#xff1a;Pure Old Java Object&#xff0c;符合Java Bean属性规范的简单Java对象&#xff0c;通常也称为VO&#xff08;Value Object&#xff0c;值对象&#xff09;。 VO&#xff1a;就是POJO; PO: Persistent Object&#xff0c;持久化对…

oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type) is begindelete from dept where deptnop_deptno;dbms_output.put_line(部门删除成功...);exception when others thendbms_output.put_lin…

linux平台的链接与加载

原文是上下两篇 链接与加载(上) — 静态链接链接与加载(下) — 动态链接 为观看方便&#xff0c;现在合并起来。 一.静态链接 示例程序 我们先看一个简单的示例程序&#xff0c;代码如下&#xff1a; /*main.c*/int u 333;int sum(int, int);int main(int argc, char* argv…

预训练模型ProphetNet:根据未来文本信息进行自然语言生成

作者 | 刘大一恒、齐炜祯、晏宇、宫叶云、段楠、周明来源 | 微软研究院AI头条&#xff08;ID:MSRAsia&#xff09;编者按&#xff1a;微软亚洲研究院提出新的预训练模型 ProphetNet&#xff0c;提出了一种新的自监督学习目标——同时预测多个未来字符&#xff0c;在序列到序列的…

模拟进程管理小结,编码规范的重要性

废话不多说了&#xff0c;省的又有衰人找我麻烦。希望我讨厌的&#xff0c;和讨厌我的少来骚扰我&#xff0c;由衷的感谢它们。 我不回那些骚扰&#xff0c;是因为我见到名字就直接删了&#xff0c;看都懒的看了。也别怪我粗鲁&#xff0c;因为我一向是对什么人说什么话 的&…

JSPServlet路径问题

2019独角兽企业重金招聘Python工程师标准>>> 如果带WebRoot&#xff0c;那么js、css、img都应该放到WebRoot目录下&#xff0c;否则访问会有问题。千万不要放在WEB-INF下&#xff0c;因为WEB-INF下的内容只有服务器转发可以访问到&#xff0c;出于安全考虑。 如果不…

Git学习教程(六)Git日志

第六课 Git 日志 内容提要&#xff1a;浏览项目历史&#xff0c;查询指定提交内容&#xff0c;图形化显示分枝和合并...git log是git中最常用的一个命令&#xff0c;执行之后&#xff0c;会显示该项目的提交历史。如果命令不加任何参数&#xff0c;那么就会显示目前所在分枝上&…

汇编包含C代码

反汇编的时候带上C代码便于观察 比较三元表达式和if else的差异 a1.c #include <stdio.h> int main(void) { int a1;int b2;int c0;a (b>c)?1:0;return 0;} a2.c #include <stdio.h> int main(void) { int a1;int b2;int c0;if(b>c){a1;}else{a0;…

无需3D运动数据训练,最新人体姿势估计方法达到SOTA | CVPR 2020

作者 | Muhammed Kocabas译者 | 刘畅出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;人体的运动对于理解人的行为是非常重要的。尽管目前已经在单图像3D姿势和动作估计方面取得了进展&#xff0c;但由于缺少用于训练的真实的3D运动数据&#xff0c;因此现有的基于视频…

Linux内核跟踪之trace框架分析【转】

转自&#xff1a;http://blog.chinaunix.net/uid-20543183-id-1930846.html------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一: 前言本文主要是对trace的框架做详尽…

写给Python开发者:机器学习十大必备技能

作者 | Pratik Bhavsar译者 | 明明如月&#xff0c;编辑 | 夕颜来源 | CSDN&#xff08;ID:CSDNnews&#xff09;有时候&#xff0c;作为一个数据科学家&#xff0c;我们常常忘记了初心。我们首先是一个开发者&#xff0c;然后才是研究人员&#xff0c;最后才可能是数学家。我…

Linux环境程序栈溢出原理

当在缓冲区中输入过多的数据时&#xff0c;缓冲区溢出就会发生&#xff0c;C语言提供了多种方法&#xff0c;可以使在缓冲区中输入的数据比预期的多。 局部变量可以被分配到栈上。这就意味着在栈的某个地方有一个固定大小的缓冲区。 而栈是向下增长的&#xff0c;而且一些重要…

[翻译]Joomla 1.5架构(十一) model 包

这个包包含了跟数据表交互的所有相关类 JModel This abstract class is the base class for all Joomla! data access objects. 所有数据访问类的抽象基类。 以下的类都分别实现对不同表的访问&#xff0c;不再翻译了。 Adapter Folder JModelCategory This is a data access …

度量快速开发平台端口映射的介绍

度量快速开发平台在客户中部署的时候&#xff0c;可能会想内网与外网用户同时使用。一般情况下&#xff0c;服务端都是部署在内网的&#xff0c;那外网用户要访问&#xff0c;就可能用到端口映射的功能。端口映射基本都是在路由器上进行。下面就是几个常用的路由器上的设置方法…

为什么栈和堆的生长方向不一样

栈的生长方向 8051的栈是向高地址增长&#xff0c;INTEL的8031、8032、8048、8051系列使用向高地址增长的堆栈&#xff1b;但同样是INTEL&#xff0c;在x86系列中全部使用向低地址增长的堆栈。其他公司的CPU中除ARM的结构提供向高地址增长的堆栈选项外&#xff0c;多数都是使用…

简单粗暴理解与实现机器学习之逻辑回归:逻辑回归介绍、应用场景、原理、损失以及优化...

作者 | 汪雯琦责编 | Carol来源 | CSDN 博客出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;学习目标知道逻辑回归的损失函数知道逻辑回归的优化方法知道sigmoid函数知道逻辑回归的应用场景应用LogisticRegression实现逻辑回归预测知道精确率、召回率指标的区别知道如…

生命的脆弱——悼念朋友

生命的脆弱让我们敲希望的钟啊多少祈祷在心中让大家看不到失败叫成功永远在让地球忘记了转动啊四季少了夏秋冬让宇宙关不了天窗叫太阳不西沉让欢喜代替了哀愁啊微笑不会再害羞让时光懂得去倒流叫青春不开溜让贫穷开始去逃亡啊快乐健康留四方让世界找不到黑暗幸福像花开放让大家…

VMware Tools手动下载

2019独角兽企业重金招聘Python工程师标准>>> VMware自己下载VMware Tools非常慢。你可以自己手动下载它。 下载地址为&#xff1a; version: 8.8.2 http://softwareupdate.vmware.com/cds/vmw-desktop/ws/8.0.3/ 选择最新的build&#xff0c;例如&#xff1a; http:…

Linux查看多核CPU利用率

1.top 使用权限&#xff1a;所有使用者 使用方式&#xff1a;top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明&#xff1a;即时显示process的动态 d :改变显示的更新速度&#xff0c;或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度&#xf…

仓央嘉措《那一天,那一月,那一年,那一世》

那一天&#xff0c;   我闭目在经殿的香雾中&#xff0c;   蓦然听见你颂经中的真言&#xff1b;     那一月&#xff0c;   我摇动所有的经筒&#xff0c;   不为超度&#xff0c;   只为触摸你的指尖&#xff1b;     那一年&#xff0c;   磕长头匍匐在…

AI+大数据助力抗疫,带你认识百度地图的新玩法!

作者 | Aholiab责编 | Carol出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;“喂&#xff0c;你好&#xff0c;我是百度地图的客服&#xff0c;请问是xx店铺对吗&#xff1f;”“嗯&#xff0c;什么事&#xff1f;”“您家在疫情期间还照常营业&#xff0c;对吗&…

Coursera Machine Learning 作业提交问题

关于作业提交问题的解决办法 Octave 4.0.0无法正常提交 解决办法&#xff1a;打两个补丁 补丁1&#xff1a;平台通用补丁2&#xff1a;Win&#xff0c;Linux or Mac 注&#xff1a;补丁文件中有安装说明

Linux查看进程内存状况

查看全部进程 通过top或ps -ef | grep 进程名 得到进程的PID。该命令可以提供进程状态、文件句柄数、内存使用情况等信息。 #pa aux 先查看进程 nginx的工作进程是5757 pmap命令 可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配…

用于小型图形挖掘研究的瑞士军刀:空手道俱乐部的图表学习Python库

作者 | Benedek Rozemberczki译者 | 天道酬勤 责编 | Carol出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;空手道俱乐部&#xff08;Karate Club&#xff09;是NetworkX Python软件包的无监督机器学习扩展库。详细可以参阅此处的文档&#xff1a;https://github.com…

电子商务创造的第二次产业机会

即将迎来冬至节气的这个周末&#xff0c;天寒地冻&#xff0c;却是电子商务的饕餮之季。淘宝网商交易大会刚刚在成都落下帷幕&#xff0c;而比网货交易会更令业界期待的“2009中国电子商务创新发展高峰论坛”也在北京顺利召开。大会由国内最大的电子商务软件及服务提供商ShopEx…

C#趣味程序---个位数为6,且能被3整出的五位数

using System;namespace ConsoleApplication1 {class Program{static void Main(string[] args){int count 0;int k;for (int i 1000; i < 9999; i){k i * 10 6;if (k % 3 0){Console.WriteLine(k);count;}}Console.WriteLine(count); }} }

c# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值

第一种方法: 用委托,Form2和Form3是同一组 Form2 usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Text; usingSystem.Windows.Forms; namespaceTestMouseMove { pub…

TCMalloc

tcmalloc 业界最有名的内存分配库&#xff0c;当数google 的tcmalloc。Tcmalloc 在管理小 内存块时非常有效&#xff0c;而且能够避免在大内存分配时的mmap()系统调用。它在多 线程中的表现也不错能很好的减少锁碰撞(glibc 致命的问题)。Tcmalloc 现在基 本上成了mysql DBA 的标…