上传安装包到/usr/local/src
cd /usr/local/src
sh install.sh
netstat -lnpt查看端口
chkconfig *** off关闭服务(如chkconfig postfix off)
查看PMTA是否启动,未启动执行/etc/init.d/pmta start
Starting PowerMTA: [FAILED]
显示启动失败,输入pmtad –debug进行调试,错误信息
2015-02-10 23:59:26 Startup error: Parse error in line 435 of /etc/pmta/config: number missing
vi +435 /etc/pmta/config找到错误行修改IP和域名:
smtp-source-host yourIP yourdomain
修改结果示例如下
smtp-source-host 104.236.229.211 m.alanhou.org
若有多域名、多IP可直接在该行下添加,再次执行pmtad –debug会发现没有报错信息了
执行/etc/init.d/pmta start启动服务,netstat -lnpt会发现7100端口已经打开
tcp 0 0 0.0.0.0:7100 0.0.0.0:* LISTEN 8747/pmtad
在浏览器中输入104.236.229.211:7100可以查看一个发送情况等的web界面
另外2525是STMP的端口,这个以及7100端口均可在 vi /etc/pmta/config配置文件中修改如下内容来实现:
http-mgmt-port 7100
smtp-port 2525
修改后运行/etc/init.d/pmta进行重启
配置文件中的如下部分用于配置用户名和密码:
<smtp-user tiger>
password tiger123
source {smtpuser-auth}
</smtp-user>
OEMPRO文件默认解压在 /var/www/html/oem/
http://104.236.229.211/oem
输入数据库用户名密码安装完成界面显示登陆地址及登陆信息
Access URL
http://104.236.229.211/oem/app/index.php?/admin/
Username test
Password test1234
进入后台点击Settings > Email Delivery, Delivery Method下拉框中可选择SMTP Connection或PowerMTA,这里选择PowerMTA,PowerMTA功能较SMTP要更为强大
Virtual MTA Name后填入localhost.com, Pick-Up Directory后填入/var/www/tmp, Bounces > Catch-All Domain后填入你的域名
然后在User下新建用户,新建完成后点击Login with user’s own privileges
点击 CREATE NEW LIST创建一个邮件列表
Campaigns > CREATE NEW CAMPAIGN,Campaign Name输入任务名,选中发送列表,去除勾选Publish this campaign in RSS feeds,点击CREATE CAMPAIGN AND EDIT CAMPAIGN EMAIL
点击From Scratch
生成DKIM工具
http://www.port25.com/support/domainkeysdkim-wizard/
分别输入域名前缀和域名,如alanhou.org和alanhou会生一段公钥和私钥,私钥配置到PMTA的配置文件中
vi +436 /etc/pmta/config 加入类似如下代码
domain-key localhost,*,/etc/pmta/dkim/localhost.pem
并将上述私钥拷入自己新建的/etc/pmta/dkim/alanhou.org.pem文件中,然后根据提示创建一个TXT记录
通过http://www.spfwizard.net/生成spf记录,ip地址 部分输入104.236.229.211/32,生成内容添加spf记录
可通过发送邮件到check-auth-****=qq.com@verifier.port25.com测试各项记录配置
下图为在 Gmail 中查看源代码所显示的各项记录通过的情况:
配置文件(/etc/pmta/config)相关配置
1.Domain Macro
domain-macro topLevel com, de, co.uk
domain-macro aol aol, aim
用以匹配aol.com, aim.de等域名
<domain $aol.$topLevel>
…settings…
</domain>
2. max-msg-rate 发送频率
Oempro配置
email delivery:SMTP或PowerMTA
Load Balancing设置Oempro每间隔多少秒向PMTA发送多少封邮件
pickup路径设置,在/etc/pmta/config中进行设置,tmp改PowerMTA提取邮件的路径,
pickup /var/www/tmp /var/www/badmail
同时需对这两个文件夹设置权限(chmod 777)
为提升体验,可对Oempro默认退订的页面设置退订成功/失败跳转:
templates/weefive/desktop/public/success.tpl
templates/weefive/desktop/public/error.tpl
<script type="text/javascript"> window.setTimeout("window.location='http://alanhou.org'",1000); </script>
读取日志
能过PMTA+OEMPRO方案发送邮件会在/var/log/pmta下按日期产生日志,记录发送的情况,投递成功通常会在日志中返回2.0.0 (success),而多数异常情况将会返回5.*.*的状态码,如5.0.0为This account has been disabled or discontinued和5.7.1 (delivery not authorized)等等,关于此类状态码可参考邮件营销之bounce类型。通过如下代码可导出包含这些异常情况的邮箱
cat /var/log/pmta/acct-2015-*.csv | grep '.*5\.[0-9]\.[0-9].*' >> /root/bounce.txt cat /root/bounce.txt | awk -F "," '{print $6}' >> /root/bounceemail.txt
以上输出两个文件主要是方便读取bounce.txt进行进一步的验证,当然也可以选择直接使用如下语句直接输出邮箱:
cat /var/log/pmta/acct-2015-*.csv | grep '.*5\.[0-9]\.[0-9].*' | awk -F "," '{print $6}' >> /root/bounceemail.txt
而如果想要取出已经不存在的邮箱,可以只提取5.0.*和5.1.*的部分,仅需使用
cat /var/log/pmta/acct-2015-*.csv | grep '.*5\.[0-1]\.[0-9].*' | awk -F "," '{print $6}' >> /root/hardbounceemail.txt
补充:
如果不按照bounce类型来提取,总结了一些日志中的关键字如下:
grep -E 'mailbox\ unavailable|bad\ destination|no\ mail\ hosts|554\ delivery\ error|mailbox\ not|Invalid\ mailbox|no\ answer\ from\ host'
设置收取邮件
yum remove sendmail -y
yum install postfix dovecot -y
打开配置文件/etc/postfix/main.cf,
去除掉inet_interfaces = all的注释
去除掉myhostname = host.domain.tld的注释并将等号后的域名进行相应更改
去除mydomain = domain.tld的注释并将等号后的域名进行相应更改
保存启动/etc/init.d/postfix start(netstat -lnpt查看25端口是否启动)
打开dovecot配置文件/etc/dovecot/dovecot.conf
去除protocols = imap pop3 lmtp的注释(主要是pop3)
去除listen = *, ::的注释
修改/etc/dovecot/conf.d/10-autho.conf
去除disable_plaintext_auth的注释并将值改为no
去除mail_location前的注释并添加值为maildir:~/Maildir
保存启动/etc/init.d/dovecot start(netstat -lnpt查看110端口是否启动)
通过useradd添加用户,passwd设置密码
其它常用命令
清空队列
pmta delete –queue=*/*