drupal7 smtp+mimemail+mailsystem 实现发送html邮件
1.下载三个模块
smtp: https://www.drupal.org/project/smtp
mimemail: https://www.drupal.org/project/mimemail
mailsystem: https://www.drupal.org/project/mailsystem
启用如下模块
2.配置一下mailsystem /admin/config/system/mailsystem
点开NEW CLASS, format()方法选择MimeMailSystem, mail()选择SmtpMailSystem;这样就可以使用邮件使用mimemail的格式(支持html),而在发送邮件时,使用的是SMTP协议(由于我们一般用第三方的smtp服务器,是要验证用户信息,smtp模块正好有这个功能),点击最下方的保存后可以进行一步操作了。
将上面三项都选择刚生成的新类(MimeMailSystem_SmtpMailSystem),如果没有开启Mime Mail Example模块,第三项是没有,点下最后的保存按钮。
3.配置一下smtp /admin/config/system/smtp
按需配置下smtp模块,SMTP AUTHENTICATION这一块填正确一般就没什么问题了。
调试那边最好选择Log everything ,这样好知道哪里出了问题;另外如果要测试是否配置成功,请用MimeMail Example来测试(/example/mimemail_example),smtp模块测试一般会发送失败,有兴趣的可以探究下原因。
4.自定义一个发邮件的方法
/**
* @param $to
* @param $params ["subject" => '', 'body' => '', 'header' => ['Cc' => '', 'Bcc'=> '']]
* @param string $from
* @param string $key
* @return bool
*/
function 模块名_send_mail($to, $params, $from = 'default_from', $key = 'common') {
$module = '模块名';
if ($from == 'default_from') {
module_load_include('inc', 'mimemail');
$from = mimemail_address(array(
'name' => variable_get('mimemail_name', '又起风了'),
'mail' => variable_get('mimemail_mail', 'xxxx'),
));
}
$language = language_default();
$send = TRUE;
$result = drupal_mail($module, $key, $to, $language, $params, $from, $send);
if ($result['result'] == TRUE) {
return true;
}
else {
return false;
}
} /**
* 这一步很重要,不然会报body为空
* Implements hook_mail().
*/
function 模块名_mail($key, &$message, $params) {
$message['subject'] = $params['subject'];
$message['body'][] = $params['body'];
}
附:可以在主题下新建/css/mail.css 来控制html邮件的样式;邮件模板放在/templates/mail/mimemail-message.tpl.php,如果要多种模板,可以是这种格式mimemail-message--模块名--key值.tpl.php
以上原创,转载请附出处。
drupal7 smtp+mimemail+mailsystem 实现发送html邮件的更多相关文章
- SMTP 通过 ssh 通道发送垃圾邮件
通过SSH隧道传输SMTP 根据设计,我们不允许校外机器使用我们的SMTP服务器.如果我们允许它,我们将允许任何和所有使用我们的SMTP服务器来分发垃圾邮件.但是也可以通过我们的SMTP服务器发送邮件 ...
- .Net Mail SMTP 发送网络邮件
刚刚迈入"开发"的行列 一直有一个想法 我什么时候能给我庞大的用户信息数据库给每一位用户邮箱发送推荐信息呢? 刚迈入"编程两个月的时间" 我采用 SMTP 发送 ...
- 九、Python发送QQ邮件(SMTP)
看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...
- python3:利用SMTP协议发送QQ邮件+附件
转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...
- 在Delphi中使用indy SMTP发送gmail邮件[转]
在Delphi中使用indy SMTP发送gmail邮件[转] 2012-01-01 22:44:30| 分类: Delphi | 标签: |举报 |字号大中小 订阅 在Delphi中发送 ...
- Oracle PLSQL通过SMTP发送E-MAIL邮件代码
登录到SMTPserver发送邮件,支持HTML CREATE OR REPLACE PROCEDURE send_mail( p_recipient VARCHAR2, -- 邮件接收 ...
- C#发送Outlook邮件(仅SMTP版本)
先表明Outlook的参数:网址:https://support.office.com/zh-cn/article/Outlook-com-%E7%9A%84-POP%E3%80%81IMAP-%E5 ...
- CI框架使用PHPmail插件发送QQ邮件:
有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...
- 如何利用sendmail发送外部邮件?
在写监控脚本时,为了更好的监控服务器性能,如磁盘空间.系统负载等,有必要在系统出现瓶颈时,及时向管理员进行报告.在这里通常采用邮件报警,同时,邮件设置为收到邮件,即向指定手机号码发送短信.这样可以实现 ...
随机推荐
- spring boot下WebSocket消息推送
WebSocket协议 WebSocket是一种在单个TCP连接上进行全双工通讯的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范.WebSo ...
- 68.最大k乘积问题 (15分)
C时间限制:3000 毫秒 | C内存限制:3000 Kb题目内容:设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和 ...
- Python的datetime模块使用
两个常量 MAXYEAR:9999 MINYEAR:1 五个类 datetime.datetime:日期时间类 datetime.date:日期类 datetime.time:时间类 datetime ...
- <随便写>软件设计遵循的基本原则
1.高内聚,低耦合 所谓高内聚,是指一个软件模块内各个元素彼此结合的紧密程度要高,即一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则. 所谓低耦合,是指一个软件系统内不同 ...
- hdu 6437 /// 最小费用最大流 负花费 SPFA模板
题目大意: 给定n,m,K,W 表示n个小时 m场电影(分为类型A.B) K个人 若某个人连续看了两场相同类型的电影则失去W 电影时间不能重叠 接下来给定m场电影的 s t w op 表示电影的 开始 ...
- 【洛谷】P1349广义斐波那契
题目链接:https://www.luogu.org/problemnew/show/P1349 题意:现在定义fib数列为 an = p * an-1 + q * an-2求第n项%m的答案. 题解 ...
- 令人清爽的异步函数async、await
1.什么是async.await? async用于声明一个函数是异步的.而await从字面意思上是"等待"的意思,就是用于等待异步完成.并且await只能在async函数中使用; ...
- 解决MSF更新证书错误
如下图所示提示签名无效下载失败,导致更新不了msf 解决办法如下: echo 'deb http://apt.metasploit.com/ lucid main' > /etc/apt/sou ...
- etimer
Contiki包含一个时钟模型和5个定时器模型(timer, stimer, ctimer, etimer, and rtimer),先学习etimer吧. etimer是一个结构体,(个人用eve ...
- MySQL主从复制&读写分离&分库分表
MySQL主从复制 MySQL的主从复制只能保证主机对外提供服务,从机是不提供服务的,只是在后台为主机进行备份数据 首先我们说说主从复制的原理,这个是必须要理解的玩意儿: 理解: MySQL之间的数据 ...