Drupal中可以设置向网站和用户通过contact页面联系,填写一个表格后,发送到相应的邮箱中,而邮箱地址不用对外公布。前些天都进行了设置,但今天却发现邮件无法发送成功。查看了一些文档,Drupal发送邮件主要有两种方式:
- 通过Linux服务器自带SMTP服务发送,例如Sendmail系统;
- 通过外部SMTP服务器发送,需要验证,并可以用SSL加密。
前者应该更简单的,但却总是没有成功,Sendmail的配置办法还不是很了解。然后改用后者,如果是有企业邮箱系统是最好了,用专门的SMTP肯定好,如果没有企业邮箱系统的话,就用通用的免费邮箱也可以,而用带SSL加密的Gmail安全性还是足够高的。不过需要在服务器的PHP上添加SSL补丁,今天在同事的帮助下也搞定了。
需要下载安装的文件有3个:
- Drupal的SMTP模块(我是用的Drupal 6版本);
- PHPMailer(选其中Linux下的PHP5/6版本);
- PHP的OPENSSL模块(也和已经安装的PHP版本有关)。
这个问题算是解决了。不过测试以前的MediaWiki系统,发现Linux服务器上的Sendmail还是有些问题,导致邮件积压无法发出,还要请同事帮忙检查、解决。而MediaWiki也有外部SMTP方式,我以前见过,但因为还要装个PEAR's Mail没有搞好,也一直就用的Sendmail。
今天还发现以前一直有问题的邮件转发问题,是因为根域名解析时用了CNAME造成后面设置的MX记录无效,可以通过修改根域名解析用A记录与MX记录分开,或者在CNAME指向的另外域名中继续做MX记录来指向SMTP/POP3邮件服务器。
最近用Drupal系统遇到的新问题比较多,都作为日志记录下来,但很具体的解决办法和步骤就没有时间细写了,遇到类似问题的朋友可以自己搜索、摸索解决。
评论