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格式电子邮件。

(0)

相关推荐

  • 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_messa

  • 如何用ASP发送html格式的邮件?

    如何用ASP发送html格式的邮件?<% Dim objMail Set objMail = CreateObject("CDONTS.Newmail") objMail.TO = "sunchunliang@263.net" objMail.From =shenzhaoyang@intels.net objmail.Subject = "闪亮日子之html撼雪喷云" objMail.MailFormat = cdoMailFormatMi

  • SQL Server中发送HTML格式邮件的方法

    sql server 发送html格式的邮件,参考代码如下: DECLARE @tableHTML NVARCHAR(MAX) ; -- 获取当前系统时间,和数据统计的时间 set @d_nowdate = convert(datetime,convert(varchar(10),dateadd(day,-1,getdate()),120),120); -- 如果有数据则发送 if exists (select top 1 * from t_table1(nolock) where d_rq=@

  • php发送html格式文本邮件的方法

    本文实例讲述了php发送html格式文本邮件的方法.分享给大家供大家参考.具体实现方法如下: <?php $to = "simon@mailexample.com, elaine@mailexample.com"; //设置收件人 $subject = "This is a test"; //设置E-mail主题 //设置E-mail内容: $message = " <html> <head> <title>Thi

  • PHP基于CURL发送JSON格式字符串的方法示例

    本文实例讲述了PHP基于CURL发送JSON格式字符串的方法.分享给大家供大家参考,具体如下: /* * post 发送JSON 格式数据 * @param $url string URL * @param $data_string string 请求的具体内容 * @return array * code 状态码 * result 返回结果 */ function post_json_data($url, $data_string) { $ch = curl_init(); curl_seto

  • JS获取url参数,JS发送json格式的POST请求方法

    <script type="text/javascript"> 一.获取url所有参数值 function US() { var name, value; var str = location.href; var num = str.indexOf("?"); str = str.substr(num + 1); var arr = str.split("&"); for (var i = 0; i < arr.leng

  • python3使用SMTP发送HTML格式邮件

    一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]Python3使用SMTP发送简单文本邮件 二.使用Python3 发送HTML格式的邮件 0.使用的环境为: Python 3.6.3 (64bit) PyCharm 2017.3 (64bit) 1.实现代码: import smtplib from email.header import Header from email.mime.text import MIMEText # 发件人和收件人 sender =

  • 对python requests发送json格式数据的实例详解

    requests是常用的请求库,不管是写爬虫脚本,还是测试接口返回数据等.都是很简单常用的工具. 这里就记录一下如何用requests发送json格式的数据,因为一般我们post参数,都是直接post,没管post的数据的类型,它默认有一个类型的,貌似是 application/x-www-form-urlencoded. 但是,我们写程序的时候,最常用的接口post数据的格式是json格式.当我们需要post json格式数据的时候,怎么办呢,只需要添加修改两处小地方即可. 详见如下代码: i

  • python SMTP实现发送带附件电子邮件

    本文实例为大家分享了python SMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下 可采用email模块发送电子邮件附件.发送一个未知MIME类型的文件附件其基本思路如下: 1. 构造MIMEMultipart对象做为根容器 2. 构造MIMEText对象做为邮件显示内容并附加到根容器 3. 构造MIMEBase对象做为文件附件内容并附加到根容器 a. 读入文件内容并格式化 b. 设置附件头 4. 设置根容器属性 5. 得到格式化后的完整文本 6. 用smtp发送邮件 具体内容参见

  • 如何使用Python发送HTML格式的邮件

    这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了 Python发送HTML格式的邮件与发送纯文本消息的邮件不同

随机推荐