本文目录一览:
- 1、求Discuz!邮件系统SMTP发送邮件类型设置方法?
- 2、怎么调用 discuz 发送邮件
- 3、DISCUZ 7邮件设置问题!
- 4、如何从discuz数据库中提取出用户邮箱信息 并群发
- 5、discuz邮件设置
求Discuz!邮件系统SMTP发送邮件类型设置方法?
目前很多空间不支持PHP函数进行发送邮件,Discuz!目前提供了一个很好的SMTP发送邮件设置,我们可以很方便的使用SMTP来完成我们发送邮件的要求。注:本发送邮件教程是真正的电子邮件,不是短消息哦~=================================================================本教程基于Discuz!5.0.0RC1制作,可以适用于稍高或稍低版本。=================================================================先前准备:您需要一个支持SMTP的电子邮箱,推荐使用Gmail或者126=================================================================一、打开论坛根目录下mail_config.inc.php找到[Copynbsp;tonbsp;clipboard]CODE:$mailsendnbsp;=nbsp;1;改成[Copynbsp;tonbsp;clipboard]CODE:$mailsendnbsp;=nbsp;2;(图1)二、然后下拉,找到以下选项[Copynbsp;tonbsp;clipboard]CODE:$mailcfg[‘server‘]nbsp;=nbsp;‘smtp.21cn.com‘;nbsp;nbsp;nbsp;//nbsp;SMTPnbsp;hostnbsp;addressnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;SMTPnbsp;服务器$mailcfg[‘port‘]nbsp;=nbsp;‘25‘;nbsp;nbsp;nbsp;nbsp;//nbsp;SMTPnbsp;端口,nbsp;默认不需修改nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;SMTPnbsp;port,nbsp;leavenbsp;defaultnbsp;fornbsp;mostnbsp;occations$mailcfg[‘auth‘]nbsp;=nbsp;1;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;requirenbsp;authentification?nbsp;1=yes,nbsp;0=nonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;是否需要nbsp;AUTHnbsp;LOGINnbsp;验证,nbsp;1=是,nbsp;0=否$mailcfg[‘from‘]nbsp;=nbsp;‘Discuznbsp;amp;lt;myaccount@21cn.comamp;gt;‘;nbsp;//nbsp;mailnbsp;fromnbsp;(ifnbsp;authentificationnbsp;required,nbsp;donbsp;usenbsp;localnbsp;emailnbsp;addressnbsp;ofnbsp;ESMTPnbsp;server)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;发信人地址nbsp;(如果需要验证,必须为本服务器地址)$mailcfg[‘auth_username‘]nbsp;=nbsp;‘myaccount‘;nbsp;nbsp;//nbsp;usernamenbsp;fornbsp;authentificationnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;验证用户名$mailcfg[‘auth_password‘]nbsp;=nbsp;‘password‘;nbsp;nbsp;nbsp;//nbsp;passwordnbsp;fornbsp;authentificationnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//nbsp;验证密码(图2)三、把其中$mailcfg[‘server‘]$mailcfg[‘from‘]$mailcfg[‘auth_username‘]$mailcfg[‘auth_password‘]信息填写完整(图3)(各个参数意义如下:)QUOTE:$mailcfg[‘server‘]nbsp;//您邮件的SMTP服务器地址,可以联系邮件客服找到,一般是邮件域名.smtp.com(net……)nbsp;$mailcfg[‘from‘]nbsp;//您的邮件地址、名称,请注意使用以下格式:‘您的论坛名称nbsp;amp;lt;您的邮箱地址amp;gt;‘$mailcfg[‘auth_username‘]nbsp;//您的邮箱登陆用户名$mailcfg[‘auth_password‘]nbsp;//您的邮箱登录密码四、保存覆盖上传文件=================================================================至此配置完成,下面进行检测进入论坛后台——论坛通知,选择E-mail方式发送(图4)进入邮箱,(这里演示使用Foxmail6),可以看到,邮件已经传送过来。
怎么调用 discuz 发送邮件
1、首先需要注册一个邮箱账号,我们以163邮箱为例,在百度输入163,进入注册页面;
2、注册一个163邮箱账号;
3、注册好以后,登陆邮箱,进入邮箱设置;
4、选择左侧的菜单,设置设置POP3/SMTP/IMAP;
所有选项全选,点击确定;
注意SMTP服务器的地址为:smtp.163.com
复制这个地址;
5、进入dz 3.2后台,选择全局——注册与访问控制;
通过邮件发送注册链接:是;
提交;
6、进入站长——邮件设置;
以win主机为例,按图进行设置;
smtp服务器:smtp.163.com
发信人邮件地址:填写刚注册的邮箱地址;
SMTP 身份验证用户名:填写刚注册的邮箱地址;
SMTP 身份验证密码:填写邮箱密码;
提交设置;
7、Discuz! 支持如下三种邮件发送方式:1、通过 PHP 函数的 sendmail 发送(推荐此方式)说明:这种方式是使用 PHP 的函数发送邮件,需要服务器上安装邮件系统。一般的虚拟主机都内置邮件系统。因此推荐使用这种方式。
2、通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)说明:这种方式适用于 win 或者 linux 类服务器使用(适合于虚拟主机或者独立主机使用),并且支持 ESMTP 验证。需要站长拥有一个 SMTP 服务器,例如 Foxmail 的 SMTP 服务器。
3、通过 PHP 函数 SMTP 发送 Email(仅 Windows 主机下有效, 不支持 ESMTP 验证)说明:这种方式仅仅适合于 win 主机。对系统环境要求较高,不推荐使用。
用户可以根据自己的情况来选择使用哪一种方式
8、邮件头的分隔符分为三种1、使用 CRLF 作为分隔符(通常为 Windows 主机)2、使用 LF 作为分隔符(通常为 Unix/Linux 主机)3、使用 CR 作为分隔符(通常为 Mac 主机)
说明:这里根据您使用的邮件服务器系统选择邮件头的分隔符。
9、要想知道设置的邮件功能会员是否能正常收到邮件,我们需要测试一下;填写好发件人和收件人邮箱后,点击“检测邮件发送设置”如果邮件设置成功会提示如下图所示:
10、进入邮箱查看是否收到了邮件;
如果收到,说明设置成功了。
注意事项
如果测试失败,请换其他平台的邮箱注册试试;
DISCUZ 7邮件设置问题!
我用的是网易域名信箱,你可以参考下:
SMTP 服务器:smtp.ym.163.com
SMTP 端口:25
SMTP 服务器要求身份验证:是
发信人邮件地址:略
SMTP 身份验证用户名:这个略
SMTP 身份验证密码:这个也略
邮件头的分隔符:使用 CRLF 作为分隔符(通常为 Windows 主机)
收件人地址中包含用户名: 是
屏蔽邮件发送中的全部错误提示:是
如何从discuz数据库中提取出用户邮箱信息 并群发
$sql = "SELECT email FROM `cdb_members`";
$headers = "From:81938561@qq.com\r\n"; //发送者地址
$headers .= "Reply-To:81938561@qq.com\r\n"; //回复地址
$headers .= "Content-Type: text/html;\r\n charset=\"gb2312\"\r\n";
//HTML 电子邮件内容.
$body =MYDOC
邮件内容放这里
MYDOC;
$res=mysql_query($sql);
while ($email = mysql_fetch_array($res)){
if (mail($email ,"邮件标题", $body,$headers)) {
echo("pMail to $email 已经成功发送/p");
} else {
echo("pMail to $email 没有成功发送./p");
}
}
//使用mail()函数前提是服务器支持smtp服务
discuz邮件设置
说明:Discuz! 的邮件功能,对于站长来说是相当重要的,如果用户忘记密码,可以通过邮件直接取回,比较方便下面为大家仔细讲解如果设置邮件功能。
一、Discuz! 支持如下三种邮件发送方式:
1、通过 PHP 函数的 sendmail 发送(推荐此方式)
说明:
这种方式是使用 PHP 的函数发送邮件,需要服务器上安装邮件系统。一般的虚拟主机都内置邮件系统。因此推荐使用这种方式。
2、通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
说明:
这种方式适用于 win 或者 linux 类服务器使用(适合于虚拟主机或者独立主机使用),并且支持 ESMTP 验证。需要站长拥有一个 SMTP 服务器,例如 Foxmail 的 SMTP 服务器。
3、通过 PHP 函数 SMTP 发送 Email(仅 Windows 主机下有效, 不支持 ESMTP 验证)
说明:这种方式仅仅适合于 win 主机。对系统环境要求较高,不推荐使用。
用户可以根据自己的情况来选择使用哪一种方式
二、邮件头的分隔符分为三种
1、使用 CRLF 作为分隔符(通常为 Windows 主机)
2、使用 LF 作为分隔符(通常为 Unix/Linux 主机)
3、使用 CR 作为分隔符(通常为 Mac 主机)
说明:这里根据您使用的邮件服务器系统选择邮件头的分隔符。
三、下面我们以第二种邮件发送方式为例详细介绍一下设置邮件功能的整个过程:
1、首先我们需要注册一个邮箱,如 Foxmail的邮箱,邮箱名为:hellensu @foxmail.com
2、站点创始人登录 Discuz! 的后台 = 站长 = 邮件设置,选择“通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)”如下图所示:
点击“添加新SMTP服务器”然后填写SMTP服务器、SMTP端口、是否验证、发件人邮件地址、SMTP身份验证用户名和SMTP 身份验证密码信息,这里可以增加多个SMTP服务器。
SMTP 服务器:填写 SMTP 服务器 地址,如:smtp.foxmail.com
SMTP 端口:默认一般为 25。可以根据自己所用 SMTP 端口的不同进行填写。
说明:验证这里建议大家选择“是”。
发信人邮件地址:填写发件人的邮件地址。
SMTP 身份验证用户名:填写的邮件地址同上。
SMTP 身份验证密码:填写邮箱的密码。
3、邮件头的分隔符选择使用 LF 作为分隔符。
收件人地址中包含用户名:选择“是”将在收件人的邮件地址中包含站点用户名。
屏蔽邮件发送中的全部错误提示:选择“是”将屏蔽邮件发送中的全部错误提示。
四、检测
要想知道设置的邮件功能会员是否能正常收到邮件,我们需要测试一下
3.gif (12.18 KB, 下载次数: 64)
下载附件 保存到相册
2012-3-27 13:59 上传
填写好发件人和收件人邮箱后,点击“检测邮件发送设置”如果邮件设置成功会提示如下图所示: