国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[Drupal教程] Drupal 7.X教程:利用smtp发送html格式邮件的设置方法

[复制链接]
发表于 5-5-2012 05:31 | 显示全部楼层 |阅读模式
drupal7发邮件跟drupal5也是有挺多的差别的,使用drupal_mail发送邮件,邮件内容的相关信息都是在调用drupal_mail的方法事,在$params这个参数中传递进来,生成message的subject和body则是调用hook_mail()
! u5 |7 O4 D; f! R! x
! R9 }9 i  s- u! y如果使用smtp来发送mail呢?这个很简单,因为drupal的module很多(要感谢那些无私奉献的人),简单介绍下: ; ^' l/ S- n/ C) B" X9 `& k
一:下载PHPMailer http://drupal.org/project/phpmailer
8 z: I4 `! Q. {* Q      这个module还需要依赖Libraries API http://drupal.org/project/libraries
4 ], j( l5 C& r/ I/ f9 N" x
* ~1 u/ t4 r+ q9 O9 s5 p: o, o3 N% k* R2 {
二:下载PHPMailer库 http://code.google.com/a/apache- ... iler/downloads/list,提取class.phpmailer.php和class.smtp.php这两个文件,放到drupal\sites\all\libraries\phpmailer这个文件夹下,(libraries是专门用来放一些类库的)
5 D3 `; ~7 ~5 w, S  c7 }$ r
- n& I  s6 g/ C; D( a" I
1 |8 o- ^) u4 Q& K. y三:到后台module下安装PHPMailer和Libraries API这两个module,安装完成后,进入admin/config/system/phpmailer这个页面对PHPMailer做一些配置,他推荐的是gmail,上面有详细的步骤。
# @3 Q% V, Y' c/ N, E5 o8 @5 b% t- H- D
然后开始发邮件,可是在发送邮件的过程中发现了个令人头疼的问题,我想发送html格式的mail,尽管我修改了header中的Content-Type为text/html,可是收到的始终是内容被转了格式的邮件。原来在drupal_mail()中有个有句代码是$message = $system->format($message);(大概在L146),message被转格式了,在项目种搜索format()这个方法,搜到好几处,排除确定后,原来是调用了phpmailer.class.inc的format,在这个方法中$message['body'] = drupal_html_to_text($message['body']);就是这句将html格式转化了。
; Y3 G) t) w* R3 L9 A+ V6 A3 f+ R) A& h6 [- t2 I- q) p$ [
这样利用smtp发送html邮件就大功告成了。在搜索项目中调用了哪处的format,也可在mail.inc的drupal_html_to_text()的这个方法中加上debug_print_backtrace()这个方法去跟踪你的代码。
, N- Z% B' H* O. o5 A, a
' c( P' `+ ]) L* W2 ?$ b
  b! m5 V) B$ ?- |" R( P4 W4 l本文选自:jhddxp,谢谢!
$ D* T# G$ F/ \9 M- T; F3 }" q
发表于 5-26-2012 14:14 | 显示全部楼层
这么好的帖子不顶就太对不起楼主了8 Z1 k$ Y: r0 i+ ?1 z& c
. W# l$ p% i/ ?; u1 a! `9 {( k# F# P) ~

& M! `; i1 q( e1 \* a4 \7 P# b- U" G5 [1 P

: j% e4 k" P8 }) F4 T; N+ l6 x- ^* F0 K4 E6 o

8 _' C# v/ `2 e
$ _/ y1 c4 N! Q/ U& t% K6 j
* f2 s7 U2 M( y0 d: B' k7 h, \- y8 q; ~  y

% Q" K  [- F* v9 s$ U' b( B( [5 V* }

9 D! a- `* M5 W' P一乐电影网快播资讯xy025.com

|2011-2026-版权声明|平台(网站)公约|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 2-21-2025 08:03 , Processed in 0.601993 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表