1. 如果debian中安装了exim4,先卸载exim4:

    apt-get remove exim4
  2. 安装postfix
    apt-get install postfix
  3. 安装完成后就可以测试下,PHP代码如下:
    public function index(){
    $isok=mail('你的接受email地址','test','test');
    echo $isok;
    }

    php中的mail函数用法请参考php手册。
    这时收到的邮件发件人大致是:www-data <www-data@你的hostname>

  4. 为了不让别的邮件服务器认为是垃圾邮件,需要做下面几步域名相关的操作:
    • 添加A记录

      mail	A	默认	你的服务器ip	-	120
    • 添加MX记录
      @	MX	默认	mail.你的域名.	1	600
    • 查看mx记录是否生效
      host -t mx taozhoubian.net
    • 添加TXT记录
      @	TXT	默认	v=spf1 mx a:mail.taozhoubian.net ~all	-	600	
  5. 规范发件人的尝试,我们想把发件人显示自己设定的,比如“osEye <no-reply@oseye.net>”,我们做了如下尝试
    • 修改mail参数:

      $isok=mail('你的接受邮件地址','test','test',null,'no-reply@你的域名');

      发件人没任何改变。

    • 设置postfix的hostname和domain:
      postconf -e "myhostname=tazhoubian.net"
      postconf -e "mydomain=mail.tazhoubian.net"
      postfix reload

      收到的邮件头:

      发件人:www-data <www-data@你的hostnamelinode.com>
      邮件原文:
      Received: from 你的域名 (unknown [你的服务器IP])
      by newmx61.qq.com (NewMx) with SMTP id
      for <你的接受邮件地址>; Tue, 13 Aug 2013 11:13:16 +0800
      X-QQ-SSF: 110000000000000001F000020000001
      X-QQ-mid: mx61t1376363597tnge1fsmw
      Received: by 你的域名 (Postfix, from userid 33)
      id 1AFCF38D3E; Tue, 13 Aug 2013 11:13:16 +0800 (CST)
      To: 你的接受邮件地址
      Subject: test
      X-PHP-Originating-Script: 0:testtemp.php
      Message-Id: <20130813031316.1AFCF38D3E@你的域名>
      Date: Tue, 13 Aug 2013 11:13:16 +0800 (CST)
      From: www-data@你的hostnamelinode.com (www-data) test
    • 设置debian 的hostname:
      hostname 你的域名

      发件人没任何改变。

    • 重新配置postfix
      dpkg-reconfigure postfix

      其中“System mail name”填写你的域名;“Root and postmaster mail recipient”填写空;“other destinations to accept mail for”增加你的域名。
      发件人没任何改变

    • 经过查资料,发现还是要从mail函数入手,于是修改mail参数:
      $isok=mail('你的接受邮件地址','test','test',null,'-fno-reply@你的域名');

      收件人改变了:www-data <no-reply@你的域名>

    • 继续尝试mail函数:
      $isok=mail('你的接受邮件地址','test','test',null,'-Fabc');

      收件人改变了:abc <www-data@你的hostnamelinode.com>

    • 再来一个-f-F结合使用的:
      $isok=mail('你的接受邮件地址','test','test',null,'-Fabc -fno-reply@你的域名');

      收件人改变了:abc <no-reply@你的域名>
      哈哈,终于成功了。

  6. 如果要限制外来主机访问smtp服务,修改/etc/postfix/main.cf里的
    inet_interfaces=all

    改为

    inet_interfaces=localhost
  7. 屏蔽头部 postfix received:by (Postfix from userid.....
    • 在/etc/postfix/main.cf增加

      header_checks = regexp:/etc/postfix/header_checks
    • 编辑或新建/etc/postfix/header_checks
      /^Received:/         IGNORE
    • 重启postfix:
      /etc/init.d/postfix restart

使用postfix在debian上配置邮件服务器的更多相关文章

  1. 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。

    在windwo server2008服务器上配置ftp服务器.及配置phpstrom工具.实现项目同步. 在windwo server2008服务器上配置ftp服务器 参考该篇文章:http://bl ...

  2. 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

    参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...

  3. Confluence6.9配置邮件服务器

    一.调整confluence服务 1.在confluence安装目录下的server.xml中加一段邮件服务器的配置,加在confluence的Context中 <Context path=&q ...

  4. Debian下配置SSH服务器的方法

    Debian 503版本中实现的,Debian默认好像是没有ssh支持的. SSH的安装apt-get install openssh-serverapt-get install sshSSH的配置O ...

  5. discuz回贴通知插件实现-配置邮件服务器

    添加smtp服务器,填写相应的smtp服务器,发信人地址,用户名和密码.   填写发件人地址和收件人地址来测试邮件是否发送成功.

  6. RedHatEnterpriseLinuxServerRelease7.3上配置vsftp服务器

    1.vsftpd 服务启停相关命令 systemctl start vsftpd systemctl stop vsftpd systemctl restart vsftpd 2.配置文件/etc/v ...

  7. RedHatEnterpriseLinuxServerRelease7.3上配置vsftpd服务器

    0.vsftpd与ftp安装 yum install -y vsftpd ftp 1.vsftpd 服务启停相关命令 systemctl start vsftpd systemctl stop vsf ...

  8. 四条命令快速在Ubuntu16.04上配置DNS服务器

    1. apt install dnsmasq -y 2. vim /etc/dnsmasq.d/resolv.conf address=/xxx.yyy.com/21.xx.xx.x 3. servi ...

  9. 在Debian上用Bind 配置DNS服务器

    1 什么是DNS 初学者可能不理解DNS到底是什么,干什么用.我是在1998年大学毕业时才听说这个词的.那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,D ...

随机推荐

  1. Selenium2(java)selenium常用API 六

    selenium处理HTML5 处理Vedio WebDriver driver = new FirefoxDriver(); driver.get("http://videojs.com/ ...

  2. Express 3.0新手指南入门教程

    在确认已经安装了node之后(下载), 在你的机器上创建一个目录,让我们来开始你的第一个应用程序吧 $ mkdir hello-world 在这个目录中你首先得定义一下你的应用程序“包”文件,它和其它 ...

  3. javascript实现页面滚屏效果

    当我们浏览网页的时候,时常会碰到可以滚动屏幕的炫酷网页,今天笔者对这一技术进行简单实现,效果不及读者理想中那般炫酷,主要针对滚屏的技术原理和思想进行分享和分析.本示例在页面右侧有五个数字标签,代表五个 ...

  4. 使用OpenFiler来模拟存储配置RAC中ASM共享盘及多路径(multipath)的测试

    第一章 本篇总览 之前发布了一篇<Oracle_lhr_RAC 12cR1安装>,但是其中的存储并没有使用多路径,而是使用了VMware自身提供的存储.所以,年前最后一件事就是把多路径学习 ...

  5. Unity3D中如何计算场景中的三角面和顶点数

    在做游戏开发时,场景中的三角面和顶点数影响着运行效率,尤其是在手机平台上,实时的知道场景中的各项指标,对性能优化来说至关重要,下面我们来实现一个小功能,来实时计算场景中的三角面和顶点数: 如果要知道场 ...

  6. RabbitMQ小白菜学习之在window下的安装配置

    RabbitMQ安装 首先需要下载RabbitMQ的平台环境Erlang OTP平台和RabbitMQ Server(windows版): OTP 19.1 Windows 64-bit Binary ...

  7. Biztalk AS2开发经验总结

    一.    准备证书    4 1.    升级win2008 R2证书服务    4 2.    申请证书    6 二.    配置证书    13 1.    为AS2配置证书    13 2. ...

  8. W3Cschool学习笔记——CSS3教程

    向 div 元素添加圆角: div { border:2px solid; border-radius:25px; -moz-border-radius:25px; /* Old Firefox */ ...

  9. GitLab Wiki 内容恢复版本管理

    原来一直在网站上写Wiki文档, 最近手欠误删一篇文档, 想要恢复文档时才发现原来gitlab的Wiki是用git管理的从此再也不用为误删担心了 实现步骤: mac系统安装gollow brew in ...

  10. Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]

    Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...