Discuz! 6.1 - 发送HTML格式电子邮件


本文整理自网络,侵删。

代码如下:

--- sendmail.inc.original.php
+++ sendmail.inc.mime.php
@@ -33,23 +33,23 @@

$email_subject = '=?'.$charset.'?B?'.base64_encode(str_replace("\r", '', str_replace("\n", '', '['.$bbname.'] '.$email_subject))).'?=';
$email_message = chunk_split(base64_encode(str_replace("\r\n.", " \r\n..", str_replace("\n", "\r\n", str_replace("\r", "\n", str_replace("\r\n", "\n", str_replace("\n\r", "\r", $email_message)))))));

$email_from = $email_from == '' ? '=?'.$charset.'?B?'.base64_encode($bbname)."?= <$adminemail>" : (preg_match('/^(.+?) \<(.+?)\>$/',$email_from, $from) ? '=?'.$charset.'?B?'.base64_encode($from[1])."?= <$from[2]>" : $email_from);

foreach(explode(',', $email_to) as $touser) {
$tousers[] = preg_match('/^(.+?) \<(.+?)\>$/',$touser, $to) ? ($mailusername ? '=?'.$charset.'?B?'.base64_encode($to[1])."?= <$to[2]>" : $to[2]) : $touser;
}
$email_to = implode(',', $tousers);

-$headers = "From: $email_from{$maildelimiter}X-Priority: 3{$maildelimiter}X-Mailer: Discuz! $version{$maildelimiter}MIME-Version: 1.0{$maildelimiter}Content-type: text/plain; charset=$charset{$maildelimiter}Content-Transfer-Encoding: base64{$maildelimiter}";
+$headers = "From: $email_from{$maildelimiter}X-Priority: 3{$maildelimiter}X-Mailer: Discuz! $version{$maildelimiter}MIME-Version: 1.0{$maildelimiter}Content-type: ".(true === is_string($sendmail_mime) ? $sendmail_mime : 'text/plain')."; charset=$charset{$maildelimiter}Content-Transfer-Encoding: base64{$maildelimiter}";

$mail['port'] = $mail['port'] ? $mail['port'] : 25;

if($mail['mailsend'] == 1 && function_exists('mail')) {

@mail($email_to, $email_subject, $email_message, $headers);

} elseif($mail['mailsend'] == 2) {

if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
$errorlog('SMTP', "($mail[server]:$mail[port]) CONNECT - Unable to connect to the SMTP server", 0);

之后可以通过设定全局变量$sendmail_mime来发送HTML格式电子邮件。

更多关于Discuz论坛内容来自木庄网络博客


标签:Discuz论坛

相关阅读 >>

ubuntu+nginx+mysql+php+zend+eaccelerator安装配置文字版

Discuz论坛标题和底部去掉版权信息实例讲解

php中文分词的简单实现代码分享

js实现改进的仿蓝色论坛导航菜单效果代码

discuz提示“密码错误次数过多,请15分钟后重新登陆”问题解决方法

xss攻击汇总 做网站安全的朋友需要注意下

web目录下不应该存在多余的程序(安全考虑)

docker部署lnmp架构的方法

discuz许愿池插件远程包含漏洞

渗透测试信息收集之常用端口信息

更多相关阅读请进入《Discuz论坛》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...