博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
drupal7 mail
阅读量:6120 次
发布时间:2019-06-21

本文共 1581 字,大约阅读时间需要 5 分钟。

module里实现HTML mail

drupal默认不能发出HTML,是因为default mail system里会过滤HTML代码,所以需要把它替换掉。

先安装htmlmail与mailsystem,在mailsystem的设置替换default mail system为html mail,此后发出的邮件都能支持HTML。

// 给邮件提供额外的tokenfunction example_mail_tokens(&$replacements, $data, $options) {  if (isset($data['user'])) {    $replacements['[custom:text]'] = 'custom content';  }} // 实现hook_mail,从variable得到邮件模板,以$key为邮件代号,并支持HTMLfunction example_mail($key, &$message, $params) {  $subject = variable_get('example_emails_'.$key.'_subject', 'please set subject');  // 支持token  $subject = token_replace($subject, $params, array('language' => language_default(), 'callback' => 'example_mail_tokens', 'sanitize' => FALSE, 'clear' => TRUE));   $body = variable_get('example_emails_'.$key.'_body', 'please set body');  $body = token_replace($body, $params, array('language' => language_default(), 'callback' => 'example_mail_tokens', 'sanitize' =>  FALSE, 'clear' => TRUE));   $message['subject'] = $subject;  $message['body'][] = $body;  $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';} // 发送邮件if(Infinity\Mail::sendTo('example', 'user_create_pending', $account->mail, array('user' => $account))) {    // true}

SMTP

drupal7默认的邮件发送方式为mail function,需要想使用SMTP,可以安装SMTP module来实现。而且SMTP module允许支持HTML的选项,所以可以不必与htmlmail共用也可以实现HTML实现发送功能。

其它邮件支持HTML

function example_mail_alter(&$message) {  if ($message['id'] == 'example_messagekey') {      $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';      $message['body'][] = wordwrap($body, 900, "\n"); // 邮件一行最长998个字符,超出会出现!号  }}

转载地址:http://ymmka.baihongyu.com/

你可能感兴趣的文章
高程3总结#第1章JavaScript简介
查看>>
Slog37_支配vue框架初阶项目之博客网站-注册页面-合并首页、登陆和注册页面
查看>>
设计模式
查看>>
响应式设计之 —— 媒体查询
查看>>
秋招面经。持续更新中。
查看>>
1-Django基本流程走通
查看>>
记录一篇redux-saga的基本使用过程
查看>>
阿里巴巴的AI算法程序媛是怎样的一种存在?
查看>>
access key 笔记
查看>>
小轮子:无需重构,向下兼容,在既有项目中用vue的方式开发微信小程序
查看>>
dayjs 源码解析(四)(Dayjs 类)
查看>>
【大数据实践】Kafka生产者编程(2)——producer发送流程
查看>>
聊聊eureka server的instance注册及元数据变更接口
查看>>
webpack源码分析之一:文件打包
查看>>
微信网页授权
查看>>
排序算法总结
查看>>
Docker零基础入门指南(三):Docker Hello World
查看>>
SpringMVC之源码分析--ViewResolver(一)
查看>>
Python之浅谈exec()函数
查看>>
以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台...
查看>>