JBTALKS.CC
标题:
【分享与探讨】 论坛通过Gmail发送电邮
[打印本页]
作者:
Lpohchin
时间:
2008-11-8 02:31 AM
标题:
【分享与探讨】 论坛通过Gmail发送电邮
其实我已经用了整个星期,基本上还没有任何发电邮的问题
也减少了许多会员投诉收不到验证电邮的问题(其实是到目前为止没有一个投诉)
所以在这里就分享一下啦
用自己的域名申请Gmail Sevice
1,必须要有自己的域名,并可以修改DNS的(如不可修改,可寻求空间商协助
2,申请gmail免费服务
http://www.google.com/a/cpanel/domain/new
3,一下省略.....自己研究,重点不是这个
有了gmail后,登入进去,然后到setting里面去,
再到 Forwarding and POP/IMAP去
Enable POP for all mail (even mail that's already been downloaded)
Enable IMAP
Save Changes
修改方式请参考第二和第三楼
基本上就是这样而已。。。。。。。。。
简单明了。。。。。。方便。。。。
但是要记得哦。。。重点!!!
发送论坛通知的时候必选1
分批发送数量: 1
因为
1,太多的话,会有lost。。。。
2,gmail只限每次链接最高发送100封电邮,超过的话就会禁止24小时,所以还是安分守己的用就好。。。。。
从31/10/2008 到 08/11/2008 3.50am 我已经成功发送了3321 封电邮
退回的有 937 封,主要都是那些输入无效和已经过期没登入的电邮地址
大家一起来研究吧,希望这个可以帮到你们
谢谢
FAQ
问:是不是24小时至可以发送100个电邮?
答:没有限制
大家不妨参考这里 :
http://www.discuz.net/viewthread.php?tid=727394
作者:
Lpohchin
时间:
2008-11-8 09:15 AM
转载
http://www.discuz.net/viewthread ... p;page=1#pid5851334
之前用php mail()没有发现问题,直到最近由于某些原因需要改用smtp发邮件时,发现DZ6.0声称成功送出邮件但对方没有收到。经参考过相关帖尝试各种参数后仍然没有解决问题,起初以为对方的服务器把邮件当成垃圾邮件处置,但翻查纪录后证实根本没有邮件送出,问题出在哪呢?经过两天两夜不眠不休地测试并把源码翻来覆去地钻研,发现这并不是参数设置错误引起的,而是源码内的一个BUG。
原因是:当smtp服务器反应慢或者网络比较慢时,DZ在未收到smtp服务器的回应之前就过早地把连接关闭掉,于是smtp服务器就弃掉了邮件,出现邮件被吞掉的假象。这种现象在smtp服务器及网络速度都较快时是不会出现,邮件能正常送出。
但为什么会过早地关掉连接呢?因为这是一个BUG,而且翻查后发现,这个BUG原来从旧版本一直沿袭至今。修补办法如下:
打开include\sendmail.inc.php文件
找到fputs($fp, "QUIT\r\n");这一行
在这一行之前插入如下代码:
$lastmessage = fgets($fp, 512);
if(substr($lastmessage, 0, 3) != 250) {
$errorlog('SMTP', "($mail[server]mail[port]) DATA - $lastmessage", 0);
}
复制代码
经修正后,DZ会等待smtp服务器的正式回应后才会把连接关闭掉,保证了邮件正常发送。
作者:
Lpohchin
时间:
2008-11-8 09:17 AM
转载:
http://www.discuz.net/viewthread ... p;page=1#pid5871250
由于区域对象不同,我使用的是DZ6.0的繁体UTF8版本。
不知你的参数设置如何,但我就使用了gmail(gamil需要ssl),在修补前进行检测参数测试时很快就弹出以下对话框,但实际上邮件被gmail弃掉了:
[attach]182752[/attach]
修补后,DZ需要多等2秒才弹出对话框,并且邮件真的成功送出,也存在于我的gmail寄件备份中,对方的邮箱也收到了该两封测试邮件(一是单发,另一是群发)。之后再使用[论坛通知]测试一下,也确实成功了。以下是我的邮件参数设置:
[attach]182753[/attach]
DZ6.0以前的版本就只能修改根目录下的mail_config.php文件:
$mailsend = 2; // 邮件发送方式 0=不发送任何邮件
// 1=通过 PHP 函数及 UNIX sendmail 发送(推荐此方式)
// 2=通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
// 3=通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)
$mailcfg['server'] = 'ssl://smtp.gmail.com'; // SMTP 服务器
$mailcfg['port'] = '465'; // SMTP 端口, 默认不需修改
$mailcfg['auth'] = 1; // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
$mailcfg['from'] = '{username}@gmail.com'; // 发信人地址 (如果需要验证,必须为本服务器地址)
$mailcfg['auth_username'] = '{username}@gmail.com'; // 验证用户名
$mailcfg['auth_password'] = '{password}'; // 验证密码
复制代码
[
本帖最后由 fredlou 于 2007-9-5 22:58 编辑
]
作者:
fyhao
时间:
2008-11-8 08:42 PM
DNS management 你帮我们set了吗?
作者:
Lpohchin
时间:
2008-11-9 04:38 PM
原帖由
fyhao
于 2008-11-8 08:42 PM 发表
DNS management 你帮我们set了吗?
default 是没有开的
你要电邮给我,我才会开给你
欢迎光临 JBTALKS.CC (https://jbtalks.my/)
Powered by Discuz! X2.5