RHEL(Oracle Linxu/CentOS)系统下,如果使用sendmail发送邮件,如果不特殊设置,一般发件箱地址为user@hostname,例如,hostname为DB-Server.localdomain,在root用户下使用下面命令发送一封邮件:

[root@DB-Server ~]# hostname -f

 

DB-Server.localdomain

 

[root@DB-Server ~]# echo "hello,it is a test email from kerry" | mail -s "Hello,Welcome your test email" konglb@xxx.com

此时收件箱地址root@DB-Server.localdomain,那么如何修改发件箱地址呢?

方法1:使用sendmail的参数f,在参数f后指定发件箱。

 

[root@DB-Server ~]# echo "hello,it is a test email from kerry" | mail -s "Hello,Welcome your test email" konglb@xxxx.com -- -f DB-Server@mydba.com

此时测试,你就会发现发件箱地址为DB-Server@mydba.com,当然这里你可以对发件地址进行任意设置。这个是最好、最快捷的方法。

方法2:修改sendmail.cf配置文件

我们需要修改sendmail.mc中5个地方,如上截图所示, dnl表示选项被注释, 我们需要取消4处注释,注释掉一处地方

MASQUERADE_AS(domain.com)dnl

FEATURE(masquerade_envelope)dnl

FEATURE(masquerade_entire_domain)dnl

MASQUERADE_DOMAIN(domain.com)dnl

dnl EXPOSED_USER(`root')dnl

MASQUERADE_AS(`mydba.com')dnl

dnl #

dnl # masquerade not just the headers, but the envelope as well

dnl #

FEATURE(masquerade_envelope)dnl

dnl #

dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well

dnl #

FEATURE(masquerade_entire_domain)dnl

dnl #

dnl MASQUERADE_DOMAIN(localhost)dnl

dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl

MASQUERADE_DOMAIN(mydba.com)dnl

MAILER(smtp)dnl

dnl EXPOSED_USER(`root')dnl

[root@DB-Server ~]# m4 /etc/mail/sendmail.mc  >  /etc/mail/sendmail.cf

/etc/mail/sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory

出现上面错误,是因为没有安装sendmail-cf组件,安装了sendmail-cf组件后,就不会出现上面错误

[root@DB-Server tmp]# rpm -ivh sendmail-cf-8.13.8-8.el5.x86_64.rpm 

warning: sendmail-cf-8.13.8-8.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing...                ########################################### [100%]

   1:sendmail-cf            ########################################### [100%]

[root@DB-Server tmp]# 

[root@DB-Server mail]# m4 /etc/mail/sendmail.mc  >  /etc/mail/sendmail.cf

一般是配置/etc/mail/sendmail.mc文件,然后通过上面命令生成sendmail.cf文件,但是要注意,不要将之前的一些配置信息给覆盖了,例如SMTP服务器等。另外,重新生成配置文件后必须重启sendmail服务,否则配置不会生效

[root@DB-Server mail]# service sendmail restart

Shutting down sm-client: [  OK  ]

Shutting down sendmail: [  OK  ]

Starting sendmail: [  OK  ]

Starting sm-client: [  OK  ]

此时在不指定发件人地址的时候,发件人地址为root@mydba.com 或 oracle@mydba.com 。 邮件前缀为当前用户名.

3:修改主机名,主机名和sendmail的发送邮件有关

这个方法其实在实际环境中很少使用。毕竟修改主机名是一件非常麻烦的事情。

网上还有其它一些方法,但是我测试过多次都没有成功,所以不在此罗列,有兴趣的可以自行研究!

RHEL下SendMail修改发邮箱地址的更多相关文章

  1. JavaScript正则验证数字、英文、电话号、身份证号、邮箱地址、链接地址等

    验证是否为数字:/^[0-9]*$/验证是否为汉字:/^[\u4e00-\u9fa5],{0,}$/验证x-y位的数字:/^\d{x,y}$/验证由26个英文字母组成的字符串:/^[A-Za-z]+$ ...

  2. linux mail利用外部邮箱地址发邮件

    mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...

  3. 改动wordpress默认发邮件邮箱地址

    方法一: wordpress发送邮件默认是用的php mail函数.所以发送邮件的地址是能够随意写的.其默认发邮件的地址是wordpress@yourdomain.com.当然这个地址是能够改动的. ...

  4. GIT 查看/修改用户名和邮箱地址

    用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变.每次commit都会用用户名和邮箱纪录.github的contributions统计就是按邮箱来统计的.查看用户 ...

  5. Linux 下修改网卡MAC地址

    Linux下修改网卡MAC地址 by:授客 QQ:1033553122 例子:修改网卡接口eth0的mac地址 #停用网卡接口,比如eth0 # ifconfig eth0 down #编辑对应的网卡 ...

  6. LINUX的DNS怎么设置?linux下如何修改DNS地址

    LINUX的DNS怎么设置?linux下如何修改DNS地址 https://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.html Linux下 ...

  7. linux/Centos下查看和修改网卡Mac地址(ifconfig命令)

    本文转载自http://www.169it.com/article/14360294838474691537.html linux/Centos下查看网卡Mac地址,输入命令: #ifconfig - ...

  8. Centos下查看和修改网卡Mac地址

    linux/Centos下查看网卡Mac地址,输入命令: #ifconfig -a eth0 Link encap:Ethernet HWaddr 00:e4:56:2E:D8:20 00:e4:56 ...

  9. DJANGO里让用户自助修改邮箱地址

    因为在部署过程中会涉及用户邮件发送,如果有的同事不愿意收到太多邮件,则可以自己定义为不存在的邮箱. 我们在注册的时候,也不会写用户邮箱地址,那么他们也可以在这里自己更改. changeemail.ht ...

随机推荐

  1. 《JavaScript总结》apply、call和bind方法

    在JavaScript中,apply.call.bind这个三个方法,它们的作用都是为了改变某个函数运行时的上下文, 也就是改变函数体内的this指向. 在一个函数里,存在“定义时上下文”.“运行时上 ...

  2. 在linux上安装svn

    1. 安装svn 输入命令:yum -y install subversion 检查是否安装成功: 输入命令:svn –version 2. 创建代码仓库 输入命令:mkdir -p /usr/loc ...

  3. 字体反爬--css+svg反爬

    这个验证码很恶心,手速非常快才能通过.. 地址:http://www.dianping.com/shop/9964442 检查一下看到好多字没有了,替代的是<x class="xxx& ...

  4. ES6躬行记(3)——解构

    解构(destructuring)是一种赋值语法,可从数组中提取元素或从对象中提取属性,将其值赋给对应的变量或另一个对象的属性.解构地目的是简化提取数据的过程,增强代码的可读性.有两种解构语法,分别是 ...

  5. 90 行 Python 搭一个音乐搜索工具

    之前一段时间读到了这篇博客,其中描述了作者如何用java实现国外著名音乐搜索工具shazam的基本功能.其中所提到的文章又将我引向了关于shazam的一篇论文及另外一篇博客.读完之后发现其中的原理并不 ...

  6. The 15th Zhejiang Provincial Collegiate Programming Contest(部分题解)

    ZOJ 4024 Peak 题意 给出n和n个数,判断该数列是否是凸形的. 解题思路 从前往后第一对逆序数,和从后往前第一队逆序数,如果都非零而且相邻,证明该数组是凸形的. 代码 #include & ...

  7. SHELL脚本--简介

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 脚本都以#!/bin/bash开头,“#”称为sharp,“! ...

  8. Python异常处理详解

    在shell脚本中,常用if来判断程序的某个部分是否可能会出错,并在if的分支中做出对应的处理,从而让程序更具健壮性.if判断是异常处理的一种方式,所有语言都通用.对于特性完整的编程语言来说,都有专门 ...

  9. Go基础系列:双层channel用法示例

    Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 双层通道的解释见Go的双层通道 ...

  10. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...