应用jenkins发送邮件的邮件服务器 SMTP server 可以是本地的,也可以是远程,远程的就不多说了,在此说一下如何在jenkins本地服务器上搭建邮件服务器,并用jenkins发送邮件,详细过程如下:

一、linux服务器搭建邮件服务器:

  这里选择用linux的sendmail 来搭建邮件服务器,步骤如下:

   1、工具准备:

  安装sendmail和配置工具sendmail-cf

  检查是否已安装:rpm -qa grep sendmail*

  

 如果有结果,则说明已经安装了,没结果则安装一下:

  sudo yum install mailx -y

  sudo yum -y install sendmail

  sudo yum install -y sendmail-cf

  继续安装SMTP认证服务(如果需要用外部SMTP服务的话,这里我要使用的是本地邮件服务器,所以没有用到这个)
  sudo yum install -y saslauthd

  2、配置sendmail:

  sudo vim /etc/mail/sendmail.mc

  找到DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 这一行,把它修改为:

  DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

  3、生成Sendmail的配置文件:

  m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

  如果报错:sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4′: No such file or directory

  则说明 sendmail-cf没安装成功,重新安装一下:

  sudo yum install -y sendmail-cf

  4、重启sendmail服务:

  sudo service sendmail restart

  如果报错:sendmail:451 4.0.0 /etc/mail/sendmail.cf: line 91: fileclass: cannot open '/etc/mail/local-host-names': Group writable directory 
            451 4.0.0 /etc/mail/sendmail.cf: line 588: fileclass: cannot open '/etc/mail/trusted-users': Group writable directory

  或者Starting sendmail: 451 4.0.0 /etc/mail/sendmail.cf: line 91: fileclass: cannot open '/etc/mail/local-host-names': World writable directory
             451 4.0.0 /etc/mail/sendmail.cf: line 588: fileclass: cannot open '/etc/mail/trusted-users': World writable derectory [FAILED]

这样的,那么就是文件权限问题导致的,处理办法如下:

  检查一下文件权限:

  ls -ld / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

  dr-xr-xr-x. 23 root root 4096 Aug 31 02:55 /
  drwxr-xr-x. 93 root root 4096 Oct 11 18:31 /etc
  drwxr-xr-x 2 root root 4096 Oct 11 19:49 /etc/mail
  drwxr-xr-x. 15 root root 4096 Aug 31 16:03 /usr
  drwxr-xr-x. 18 root root 4096 Aug 31 02:55 /var
  drwxr-xr-x. 13 root root 4096 Oct 11 16:28 /var/spool
  drwx------ 2 root mail 4096 Oct 12 14:04 /var/spool/mqueue

  修改/etc/mail/sendmail.cf 文件中以下内容:

  sudo  vim /etc/mail/sendmail.cf

  Fw/etc/mail/local-host-names  --->改成:Fw-o /etc/mail/local-host-names

  Ft/etc/mail/trusted-users   --->改成:Ft-o /etc/mail/trusted-users

  修改/etc/mail/submit.cf文件内容:

  sudo vim /etc/mail/submit.cf

  Ft/etc/mail/trusted-users --->改成:Ft-o /etc/mail/trusted-users

  修改完成后再次重启:

  sudo /etc/init.d/sendmail restart

  启动成功后查看一下运行状态:

  sudo /etc/rc.d/init.d/sendmail status

  sendmail (pid 21921) is running...

  sm-client (pid 21930) is running...

  成功运行,接下来可以先发送一个测试邮件

  5.发送测试邮件:

  mail -s "test" ssss@qq.com < /home/opt/welcom.txt

  这样可以把/home/opt/welcom.txt文件里的内容作为邮件正文,test 作为邮件标题发送到邮箱:ssss@qq.com了

  OK,至此,邮件服务器搭建成功,接下来在jenkins里调用

二、jenkins调用本地sendmail邮件服务器发送邮件

  上诉搭建的sendmail邮件服务器跟jenkins是一台机子,jenkins里设置如下:

  这就简单了,只需要配置两个地方即可

  系统配置里:

  

这两个地方设置一下,然后测试发送邮件,成功

【本地邮件服务器不需要再配SMTP认证】

jenkins调用本地搭建sendmail邮件服务器发送邮件的更多相关文章

  1. centos7搭建postfix邮件服务器

    在使用qq等邮件服务器厂商提供的邮件服务后,发现他们的邮件发送数量是有限制的,随着公司的业务的需求下,我们需要搭建一个邮件服务器,邮件服务器可以帮助我们在一些提醒方面和消息推送方面起到帮助. 理论性语 ...

  2. python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

    python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...

  3. linux sendmail 邮件服务器架设(fedora 8)

    linux sendmail 邮件服务器架设(fedora 8) 2009-01-22 17:27 3316人阅读 评论(2) 收藏 举报 邮件服务器linuxprotocolscaching测试lo ...

  4. linux sendmail 邮件服务器架设

    大家都知道架邮件服务器首先要架DNS服务.架设sendmail邮件服务器,以供大家一起学习探讨. 步骤一, 安装SNEDMAIL服务,查看你是否有安装SENDMAIL. #rpm -qa|grep b ...

  5. linux平台搭建postfix邮件服务器

    一,搭建邮件服务器前准备如下: Centos 7.2 64位Postfix-2.8.12.tar.gz Postfix MTA(邮件传输代理)Dovecot-2.1.8.tar.gz IMAP 和 P ...

  6. sendmail邮件服务器

    安装sendmail之前 我们要先搭建一个DNS服务器用来解析邮件 下图是配置好的DNS正向解析记录和反向解析记录 正向 反向 DNS配置好之后我们就来安装sendmail服务 然后再安装sendma ...

  7. python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)

    使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...

  8. python使用smtplib库和smtp.qq.com邮件服务器发送邮件

    使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...

  9. 搭建james邮件服务器

    把james解压到任何一个非中文无空格目录下: lib下添加必要的jar文件: 运行run.bat命令服务器,使用期间不要关闭. 创建邮件数据库 创建配置文件:james-database.prope ...

随机推荐

  1. javascript,排列组合

    输入参数 ‘abc',输出所有组合 ['abc','acb','bac','bca','cab','cba'] 思路:分为3列,第一列为  a, b,c :第二列为a,b,c出去第一列选中过后的,比如 ...

  2. ios web input 内边阴影

    ios网页中,默认input上部有阴影,去除方法: -webkit-appearance: none;

  3. c++ 根据生产日期,保质期求出过期时间

    第4关:计算日期 挑战任务 我们吃的食物都有保质期,现在食品监督管理局想要制作一个能准确计算食品过期日期的小程序,需要请你来进行设计. 例如:A食品在2018年1月1日生产,保质期是20天,则它的过期 ...

  4. JDK-8不是有效的Win32应用程序

  5. SQL Server多条件查询的实现

    SQL Server多条件查询的实现 SQL Server多条件查询我们经常会用到,下面就教您如何使用存储过程实现SQL Server多条件查询,希望对您学习SQL Server多条件查询方面有所帮助 ...

  6. php session阻塞页面分析及优化 (session_write_close session_commit使用)

    转: http://www.tuicool.com/articles/bqeeey 首先看下下面代码, session1.php 文件 <?php ini_set('session.save_p ...

  7. linux的ssh服务

    1.检查是否安装ssh > rpm -qa|grep ssh 2.安装ssh服务 > yum install ssh 配置 /etc/ssh/sshd_config 端口 22 3.启动s ...

  8. 源码安装php时出现Sorry, I cannot run apxs. Possible reasons follow:

    1.可能的原因是你没有安装perl > yum install perl > yum install httpd-devel 2.在你apache安装目录下的bin下找到apxs,并用vi ...

  9. 关于前一篇innodb自增列自己的一点补充

    上篇文章是我转载的,忘记注明了出处,在这里深感歉意.但是上篇文章中关于自增列预留ID的计算我当时怎么弄明白,后来自己想了想终于想通了,在这里详细解释一下. 我们以一次性插入10行为例,表格如下:  插 ...

  10. g++报错原因分析:expected class-name before ‘{’ token

    今天写程序的时候, 遇到这样一个错误expected class-name before ‘{’ token 最后发现原来是我的头文件声明没有加. 继承时不要忘记加基类的头文件 错误: class F ...