使用postfix在debian上配置邮件服务器
- 如果debian中安装了exim4,先卸载exim4:
apt-get remove exim4
- 安装postfix
apt-get install postfix
- 安装完成后就可以测试下,PHP代码如下:
public function index(){
$isok=mail('你的接受email地址','test','test');
echo $isok;
}php中的mail函数用法请参考php手册。
这时收到的邮件发件人大致是:www-data <www-data@你的hostname> - 为了不让别的邮件服务器认为是垃圾邮件,需要做下面几步域名相关的操作:
- 添加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
- 添加A记录
- 规范发件人的尝试,我们想把发件人显示自己设定的,比如“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@你的域名>
哈哈,终于成功了。
- 修改mail参数:
- 如果要限制外来主机访问smtp服务,修改/etc/postfix/main.cf里的
inet_interfaces=all
改为
inet_interfaces=localhost
- 屏蔽头部 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
- 在/etc/postfix/main.cf增加
使用postfix在debian上配置邮件服务器的更多相关文章
- 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。
在windwo server2008服务器上配置ftp服务器.及配置phpstrom工具.实现项目同步. 在windwo server2008服务器上配置ftp服务器 参考该篇文章:http://bl ...
- 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题
参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...
- Confluence6.9配置邮件服务器
一.调整confluence服务 1.在confluence安装目录下的server.xml中加一段邮件服务器的配置,加在confluence的Context中 <Context path=&q ...
- Debian下配置SSH服务器的方法
Debian 503版本中实现的,Debian默认好像是没有ssh支持的. SSH的安装apt-get install openssh-serverapt-get install sshSSH的配置O ...
- discuz回贴通知插件实现-配置邮件服务器
添加smtp服务器,填写相应的smtp服务器,发信人地址,用户名和密码. 填写发件人地址和收件人地址来测试邮件是否发送成功.
- RedHatEnterpriseLinuxServerRelease7.3上配置vsftp服务器
1.vsftpd 服务启停相关命令 systemctl start vsftpd systemctl stop vsftpd systemctl restart vsftpd 2.配置文件/etc/v ...
- RedHatEnterpriseLinuxServerRelease7.3上配置vsftpd服务器
0.vsftpd与ftp安装 yum install -y vsftpd ftp 1.vsftpd 服务启停相关命令 systemctl start vsftpd systemctl stop vsf ...
- 四条命令快速在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 ...
- 在Debian上用Bind 配置DNS服务器
1 什么是DNS 初学者可能不理解DNS到底是什么,干什么用.我是在1998年大学毕业时才听说这个词的.那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,D ...
随机推荐
- 2. 托管对象数据模型的基本知识(Core Data 应用程序实践指南)
第一章的例子配置好了持久化存储区.持久化存储协调器.托管对象上下文.但是还没有对象图,本章要介绍托管对象模型的基础知识,并配置范例程序的对象图. 2.1. 托管对象模型是什么 托管对象模型是一种数据结 ...
- iOS 之 assign、retain、copy、nonatomic
1. assign 1.1. 普通赋值 一般用于基本类型 1.2. 常见委托设计模式 防止循环引用 2. retain 保留计数,获取了对象的所有权.引用计数在原有基础上加1. 3. copy 同re ...
- 如何使用php session
学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了. PHP session用法其实很简单它可以把用户提 ...
- 日历视图(CalendarView)组件的功能和用法
日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...
- ViewFlipper的功能与用法
ViewFlipper组件继承了ViewAnimator,它可调用addView(View v)添加多个组件,一旦向ViewFlipper中添加了多个组件之后,ViewFlipper可使用动画控制多个 ...
- JSP编译为Java类
JSP编译为Java类: 注意可以随便写import的内容:可以写类属性.方法.main函数.内部类:可以使用内部类: JSP: <%@ page language="java&quo ...
- spring mvc 异常处理和session添加
在controller中进行设置 package com.stone.controller; import java.util.HashMap; import java.util.Map; impor ...
- 从svn上回滚版本
转载地址:http://blog.csdn.net/happyqyt/article/details/7107039 提交SVN后想回滚到旧版本. 选择TortoiseSVN→Repo-browser ...
- 初识 BFC、 IFC、GFC、FFC
首先本文中介绍的 BFC. IFC.GFC.FFC 均为 CSS 中常见问题的解读,如没兴趣,可以绕道了. 然后在介绍这么多的 *FC 之前,我们得了解 一下 Box 和 Formatting Con ...
- 自动化CodeReview - ASP.NET Core请求参数验证
自动化CodeReview系列目录 自动化CodeReview - ASP.NET Core依赖注入 自动化CodeReview - ASP.NET Core请求参数验证 参数验证实现 在做服务端开发 ...