zoukankan      html  css  js  c++  java
  • 使用postfix在debian上配置邮件服务器

    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
    出处:http://www.zhaiqianfeng.com    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    048——VUE中使用animate.css动画库控制vue.js过渡效果
    047——VUE中css过渡动作实例
    046——VUE中组件之使用动态组件灵活设置页面布局
    045——VUE中组件之父组件使用scope定义子组件模板结构
    004PHP文件处理——目录操作:glob rewinddir opendir readdir
    003PHP文件处理——目录操作:rename scandir
    044——VUE中组件之使用内容分发slot构建bootstrap面板panel
    Linux输出信息并将信息记录到文件(tee命令)
    linux下使用SVN上传项目
    linux下将文件上传到svn服务器
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4618512.html
Copyright © 2011-2022 走看看