邮件服务器相关(extmail/postfix/smtp/pop3/IMAP etc)
要配置一个postfix发邮件,需要以 xx@test.aslibra.com 发送邮件
同时提供smtp服务给局域网其它服务器提供发送邮件服务
安装好postfix后,可以参考如下配置文件(去掉注释内容):
/etc/postfix/main.cf
PHP发送邮件可以使用phpmailer
扩展阅读:
1 带smtp认证的postfix配置
http://hi.baidu.com/jedibd/blog/item/7b73ab25a7b7e06d35a80f45.html
2 CentOS下(PostFix)SMTP服务器的构建
http://www.fuancn.cn/html/ServerSettings/Linux/CentOS/20084288.html
3 phpmailer,smtp发送邮件实例
http://blog.51yip.com/php/910.html/comment-page-1
4 postfix邮件服务的基本配置
http://eastwalk.blogbus.com/logs/57585048.html
5 Postfix服务的基本配置
http://book.51cto.com/art/200904/118655.htm
6 telnet smtp发邮件
http://hi.baidu.com/guixiao_zhou/blog/item/49f8a73259a9f2210a55a9ec.html
7 簡易 Mail Server 架設 -- Postfix 設定
http://linux.vbird.org/linux_server/0390postfix.php
同时提供smtp服务给局域网其它服务器提供发送邮件服务
引用
补充@20140104:
机器的hostname将会是发邮件的后缀,比如是 www.aslibra.com的机器,发邮件是 root@www.aslibra.com
可以把 www.aslibra.com 做别名 到 aslibra.com,域名生效后重启postfix,发邮件就是 root@aslibra.com
机器的hostname将会是发邮件的后缀,比如是 www.aslibra.com的机器,发邮件是 root@www.aslibra.com
可以把 www.aslibra.com 做别名 到 aslibra.com,域名生效后重启postfix,发邮件就是 root@aslibra.com
安装好postfix后,可以参考如下配置文件(去掉注释内容):
/etc/postfix/main.cf
myhostname = test.aslibra.com
mydomain = test.aslibra.com
mynetworks = 192.168.1.0/24, 127.0.0.0/8
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myorigin = $myhostname
inet_interfaces = all
unknown_local_recipient_reject_code = 550
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
mydomain = test.aslibra.com
mynetworks = 192.168.1.0/24, 127.0.0.0/8
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myorigin = $myhostname
inet_interfaces = all
unknown_local_recipient_reject_code = 550
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
PHP发送邮件可以使用phpmailer
include('libraries/class.phpmailer.php');
$mail = new PHPMailer();
$mail->CharSet="UTF-8";
$mail->IsSMTP(); // 经smtp发送
$mail->Host = $this->smtp_ip; // SMTP 服务器
$mail->SMTPAuth = false; // 局域网不需要SMTP 认证
$mail->From = $from; // 发信人
$mail->FromName = $fromuser; // 发信人别名
$mail->Sender = $from;
$mail->AddAddress($to); // 收信人
if(isset($ccmail)){
$mail->AddCC($ccmail); // cc收信人
}
if(isset($bccmail)){
$mail->AddCC($bccmail); // bcc收信人
}
$mail->WordWrap = 50;
$mail->IsHTML(true); // 以html方式发送
$mail->Subject = $title; // 邮件标题
$mail->Body = $content; // 邮件内空
$mail->Send();
$mail = new PHPMailer();
$mail->CharSet="UTF-8";
$mail->IsSMTP(); // 经smtp发送
$mail->Host = $this->smtp_ip; // SMTP 服务器
$mail->SMTPAuth = false; // 局域网不需要SMTP 认证
$mail->From = $from; // 发信人
$mail->FromName = $fromuser; // 发信人别名
$mail->Sender = $from;
$mail->AddAddress($to); // 收信人
if(isset($ccmail)){
$mail->AddCC($ccmail); // cc收信人
}
if(isset($bccmail)){
$mail->AddCC($bccmail); // bcc收信人
}
$mail->WordWrap = 50;
$mail->IsHTML(true); // 以html方式发送
$mail->Subject = $title; // 邮件标题
$mail->Body = $content; // 邮件内空
$mail->Send();
扩展阅读:
1 带smtp认证的postfix配置
http://hi.baidu.com/jedibd/blog/item/7b73ab25a7b7e06d35a80f45.html
2 CentOS下(PostFix)SMTP服务器的构建
http://www.fuancn.cn/html/ServerSettings/Linux/CentOS/20084288.html
3 phpmailer,smtp发送邮件实例
http://blog.51yip.com/php/910.html/comment-page-1
4 postfix邮件服务的基本配置
http://eastwalk.blogbus.com/logs/57585048.html
5 Postfix服务的基本配置
http://book.51cto.com/art/200904/118655.htm
6 telnet smtp发邮件
http://hi.baidu.com/guixiao_zhou/blog/item/49f8a73259a9f2210a55a9ec.html
7 簡易 Mail Server 架設 -- Postfix 設定
http://linux.vbird.org/linux_server/0390postfix.php
最近对postfix的使用又产生了点兴趣,特实验并整理一下相关的使用:
一 安装
yum install postfix
参考:postfix基本配置和设定DNS
二 配置默认发送域名
配置文件可以设定:
mydomain = mail.yourdomain.com
myhostname = yourdomain.com
如果不行,可以试试这样(笨人方法):
hostname yourdomain.com
service postfix restart
这样发出的邮件就是 xx@yourdomain.com
三 配置收邮件
inet_interfaces = all
四 希望收到的邮件提供给PHP处理
修改 aliases文件要执行 newaliases 才能生效
这样发给 aslibra@yourdomain.com 的邮件会交给 /tmp/m.php 处理
程序参考: PHP处理postfix的邮件内容
五 希望增加收邮件的域名
别的域名的邮件发到此服务器是会有出错提示的,不处理的,修改一下即可
mydestination = $myhostname, localhost.$mydomain, localhost, www.aslibra.com
这样 xx@www.aslibra.com 的邮件就可以处理了
六 希望做邮件转发
比如 xxxx@www.aslibra.com 全部都交给php处理,这个用处很大,可以用程序处理用户邮件交互
1 编辑 /etc/postfix/canonical 增加一行
@www.aslibra.com aslibra@yourdomain.com
2 postconf -e canonical_maps=hash:/etc/postfix/canonical
3 postmap /etc/postfix/canonical
这样邮件就都交给前面设定的用户了,继而交给php处理了
# 参考资料:
1 Postfix 邮件转发
一 安装
yum install postfix
参考:postfix基本配置和设定DNS
二 配置默认发送域名
配置文件可以设定:
mydomain = mail.yourdomain.com
myhostname = yourdomain.com
如果不行,可以试试这样(笨人方法):
hostname yourdomain.com
service postfix restart
这样发出的邮件就是 xx@yourdomain.com
三 配置收邮件
inet_interfaces = all
四 希望收到的邮件提供给PHP处理
cat /etc/aliases | grep aslibra
aslibra: "| php -q /tmp/m.php"
aslibra: "| php -q /tmp/m.php"
修改 aliases文件要执行 newaliases 才能生效
这样发给 aslibra@yourdomain.com 的邮件会交给 /tmp/m.php 处理
程序参考: PHP处理postfix的邮件内容
五 希望增加收邮件的域名
别的域名的邮件发到此服务器是会有出错提示的,不处理的,修改一下即可
mydestination = $myhostname, localhost.$mydomain, localhost, www.aslibra.com
这样 xx@www.aslibra.com 的邮件就可以处理了
六 希望做邮件转发
比如 xxxx@www.aslibra.com 全部都交给php处理,这个用处很大,可以用程序处理用户邮件交互
1 编辑 /etc/postfix/canonical 增加一行
@www.aslibra.com aslibra@yourdomain.com
2 postconf -e canonical_maps=hash:/etc/postfix/canonical
3 postmap /etc/postfix/canonical
这样邮件就都交给前面设定的用户了,继而交给php处理了
# 参考资料:
1 Postfix 邮件转发
发送文本邮件
发送纯附件
注:需要用到sharutils
ubuntu下这样安装即可:
发送文本+附件
更多内容可以参阅:
http://linux.chinaunix.net/bbs/viewthread.php?tid=905943
echo "content" | mail -s "subject" {email}
发送纯附件
uuencode aslibra.com.sql aslibra.com.sql | mail -s subject {email}
注:需要用到sharutils
ubuntu下这样安装即可:
apt-get install sharutils
发送文本+附件
echo "content:www.aslibra.com" >/tmp/mail ;uuencode aslibra.com.sql aslibra.com.sql >>/tmp/mail; cat /tmp/mail | mail -s subject {email}
更多内容可以参阅:
http://linux.chinaunix.net/bbs/viewthread.php?tid=905943
本文整理中。。
前言
发送一封邮件能够正常的到达用户的收件箱,期间会受哪些因素影响呢?
1 PHP编程,按正常方式发出
2 邮件发送程序(本文是postfix)处理并发出
3 邮件接收服务器确认是否垃圾邮件
4 用户邮件终端解析邮件内容
怎么样的邮件不正常?
1 PHP没有做好编码处理,直接导致乱码问题
2 postfix域配置不正常,导致邮件服务器验证失败,断定为垃圾邮件
3 客户端解析内容的兼容性差
如何进行环境配置
先安装postfix,系统自带的sendmail也可以发送,但明显比postfix用起来麻烦
简单的发邮件,两者都可以
centOS里执行 yum install postfix 即可。
假设我们要配置的发送人的邮箱是 root@notify.aslibra.com
那需要设定两个内容:
1 设定机器名为notify.aslibra.com,@后面那段
永久设定可以在 /etc/sysconfig/network 修改,否则以上设置重启后会被修改
这个hostname很重要,邮件服务器主要审查的就是此名称是否为合法的发送者
默认是localhost,不改名称很容易就变成垃圾邮件
2 notify.aslibra.com 的TXT记录,包含发邮件的服务器的公网IP,假设是1.2.3.4
添加一条TXT的记录为“v=spf1 ipv4:1.2.3.4 a mx ~all”
此操作是声明哪些ip可以用此域发邮件
更多请参考《postfix基本配置和设定DNS》
启动服务测试
启动postfix或者sendmail,然后命令行方式发送一封英文邮件试试
如果能够收到,那说明发送邮件已经正常
下面可以用php来完成更加复杂的邮件,比如html和中文支持
发送实例分析
关于 base64_encode 函数:
参考阅读内容:
1 HTML EMAIL WITH JPEG ATTACHMENTS TUTORIAL
2 用PHP MAIL()函数发送HTML邮件
3 解決寄件者名稱與信件標題亂碼問題
4 PHP发送UTF-8编码中文邮件标题乱码的解决
前言
发送一封邮件能够正常的到达用户的收件箱,期间会受哪些因素影响呢?
1 PHP编程,按正常方式发出
2 邮件发送程序(本文是postfix)处理并发出
3 邮件接收服务器确认是否垃圾邮件
4 用户邮件终端解析邮件内容
怎么样的邮件不正常?
1 PHP没有做好编码处理,直接导致乱码问题
2 postfix域配置不正常,导致邮件服务器验证失败,断定为垃圾邮件
3 客户端解析内容的兼容性差
如何进行环境配置
先安装postfix,系统自带的sendmail也可以发送,但明显比postfix用起来麻烦
简单的发邮件,两者都可以
centOS里执行 yum install postfix 即可。
假设我们要配置的发送人的邮箱是 root@notify.aslibra.com
那需要设定两个内容:
1 设定机器名为notify.aslibra.com,@后面那段
hostname notify.aslibra.com
永久设定可以在 /etc/sysconfig/network 修改,否则以上设置重启后会被修改
这个hostname很重要,邮件服务器主要审查的就是此名称是否为合法的发送者
默认是localhost,不改名称很容易就变成垃圾邮件
2 notify.aslibra.com 的TXT记录,包含发邮件的服务器的公网IP,假设是1.2.3.4
添加一条TXT的记录为“v=spf1 ipv4:1.2.3.4 a mx ~all”
此操作是声明哪些ip可以用此域发邮件
更多请参考《postfix基本配置和设定DNS》
启动服务测试
启动postfix或者sendmail,然后命令行方式发送一封英文邮件试试
如果能够收到,那说明发送邮件已经正常
下面可以用php来完成更加复杂的邮件,比如html和中文支持
发送实例分析
关于 base64_encode 函数:
引用
本函数将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。编码后的字符串比原来的字符串长度再加 1/3 左右。更多的 BASE64 编码信息可以参考 RFC2045 文件之 6.8 节。
参考阅读内容:
1 HTML EMAIL WITH JPEG ATTACHMENTS TUTORIAL
2 用PHP MAIL()函数发送HTML邮件
3 解決寄件者名稱與信件標題亂碼問題
4 PHP发送UTF-8编码中文邮件标题乱码的解决
要试用google的企业邮箱,只需要你有一个域名即可,当然,人家对cn域名不支持。
对于邮件系统,一般有如下的问题需要处理:
1 高稳定性的服务器维护
2 垃圾邮件的维护
3 用户的管理
在google的企业邮箱,提供的服务挺好:
使用步骤:
1 申请启用
注册 Google 企业应用标准版
填写你的域名即可,比如aslibra.com
2 填写好你的信息
这步骤填写完了就基本可以了,国家地区里,选择中国香港吧,选择中国说不支持
3 填写管理员账号
启用后,你就可以登录管理了,比如
http://www.google.com/a/aslibra.com/
4 启动 Google 企业应用套件
验证域名所有权我觉得cname比较好,到域名管理的后台操作一下就好
提交后会提示你:我们正在验证域名所有权。完成这一过程可能会需要 48 小时。
对于邮件系统,一般有如下的问题需要处理:
1 高稳定性的服务器维护
2 垃圾邮件的维护
3 用户的管理
在google的企业邮箱,提供的服务挺好:
引用
Gmail企业邮箱是Google通过Gmail平台,向中小企业、家庭团体、学校组织等提供的免费邮箱服务,它的特点,我总结有三:
一是,使用自己的域名作为邮箱后缀,比如我用自己的域名qasn.com设立了我的专有邮箱kong#qasn.com;一般企业邮箱就是要达到这样的效果,用企业网站相同后缀的邮箱。
二是,免费,标准版和教育版都是免费的,而且最多可以创建50个相同后缀的邮箱;专业版是需要付费的,50美元每年每个账户。一般中小企业用标准版就够了。
三是,享受免费7G的超大容量。
这样的优势你还花钱购买服务低劣的企业邮箱吗?
一是,使用自己的域名作为邮箱后缀,比如我用自己的域名qasn.com设立了我的专有邮箱kong#qasn.com;一般企业邮箱就是要达到这样的效果,用企业网站相同后缀的邮箱。
二是,免费,标准版和教育版都是免费的,而且最多可以创建50个相同后缀的邮箱;专业版是需要付费的,50美元每年每个账户。一般中小企业用标准版就够了。
三是,享受免费7G的超大容量。
这样的优势你还花钱购买服务低劣的企业邮箱吗?
使用步骤:
1 申请启用
注册 Google 企业应用标准版
填写你的域名即可,比如aslibra.com
2 填写好你的信息
引用
注册 Google 企业应用标准版 (第 2 步,共 3 步)
Google 企业应用标准版仅限于 50 个用户帐户。您想拥有更多用户帐户或其他高级功能吗?请免费试用 Google 企业应用专业版。
Google 企业应用标准版仅限于 50 个用户帐户。您想拥有更多用户帐户或其他高级功能吗?请免费试用 Google 企业应用专业版。
这步骤填写完了就基本可以了,国家地区里,选择中国香港吧,选择中国说不支持
3 填写管理员账号
启用后,你就可以登录管理了,比如
http://www.google.com/a/aslibra.com/
4 启动 Google 企业应用套件
引用
要启动 Google 企业应用套件,您需要验证您拥有您的域名 - 365dog.com。 验证域名的所有权 使用指南
验证域名所有权我觉得cname比较好,到域名管理的后台操作一下就好
提交后会提示你:我们正在验证域名所有权。完成这一过程可能会需要 48 小时。