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

 

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

Discuz! 6.1发送的电子邮件默认是text/plain纯文本格式,如果需要发送HTML格式邮件,需要对/include/sendmail.inc.php文件应用如下补丁:
--- 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! - 官方网站]

http://www.discuz.net/

[Discuz! - 常见问题]

Discuz! 6.1 从GBK编码转为UTF-8编码
Discuz! 6.1 多语言翻译工作范围
Discuz! 6.1 兼容问题

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值