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邮件的更多相关文章

  1. SMTP 通过 ssh 通道发送垃圾邮件

    通过SSH隧道传输SMTP 根据设计,我们不允许校外机器使用我们的SMTP服务器.如果我们允许它,我们将允许任何和所有使用我们的SMTP服务器来分发垃圾邮件.但是也可以通过我们的SMTP服务器发送邮件 ...

  2. .Net Mail SMTP 发送网络邮件

    刚刚迈入"开发"的行列 一直有一个想法 我什么时候能给我庞大的用户信息数据库给每一位用户邮箱发送推荐信息呢? 刚迈入"编程两个月的时间" 我采用 SMTP 发送 ...

  3. 九、Python发送QQ邮件(SMTP)

    看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...

  4. python3:利用SMTP协议发送QQ邮件+附件

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...

  5. 在Delphi中使用indy SMTP发送gmail邮件[转]

    在Delphi中使用indy SMTP发送gmail邮件[转] 2012-01-01 22:44:30|  分类: Delphi |  标签: |举报 |字号大中小 订阅     在Delphi中发送 ...

  6. Oracle PLSQL通过SMTP发送E-MAIL邮件代码

    登录到SMTPserver发送邮件,支持HTML CREATE OR REPLACE PROCEDURE send_mail(        p_recipient VARCHAR2, -- 邮件接收 ...

  7. C#发送Outlook邮件(仅SMTP版本)

    先表明Outlook的参数:网址:https://support.office.com/zh-cn/article/Outlook-com-%E7%9A%84-POP%E3%80%81IMAP-%E5 ...

  8. CI框架使用PHPmail插件发送QQ邮件:

    有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...

  9. 如何利用sendmail发送外部邮件?

    在写监控脚本时,为了更好的监控服务器性能,如磁盘空间.系统负载等,有必要在系统出现瓶颈时,及时向管理员进行报告.在这里通常采用邮件报警,同时,邮件设置为收到邮件,即向指定手机号码发送短信.这样可以实现 ...

随机推荐

  1. hadoop命令行

    持续更新中................ 1. 设置目录配额 命令:hadoop dfsadmin -setSpaceQuota 样例:hadoop dfsadmin -setSpaceQuota ...

  2. to meet you Java多线程与并发

    2: hotspot中对象在内存的布局是分3部分 对象头 实例数据 对其填充 这里主要讲对象头:一般而言synchronized使用的锁对象是存储在对象头里的,对象头是由Mark Word和Class ...

  3. linux 下无法输入# 显示为£

    在键盘布局里面,(Keyboard Layout)设置为中国,汉语.解决问题

  4. python3添加requests库

    1.资源下载 https://codeload.github.com/psf/requests/zip/master https://www.python.org/ https://files.pyt ...

  5. linux redis的启动---后台启动

    1.启动redis服务: redis-server 如果想要开启后台进程: 1.找到redis.conf里边的 把no 改为yes. 2.redis-server redis.conf(这个是针对两个 ...

  6. vue之axios的使用

    一.环境安装 1.axios的安装 进入到对应工程目录执行: npm install axios 2.启动测试数据的API 测试项目地址:https://github.com/ShenJianPing ...

  7. php 引入其他文件中的变量

    在php的开发过程中,如果所有的代码都写在同一个文件中的话,那么文件中的代码数量是否太多了,一来不便维护,二来对于编辑器也是个负担include("class0.php");在ph ...

  8. 5. java运算符

    1.算术运算符 注意: % 取余数 (1)自增 (++)前自增:先自增完毕,再运算整个表达式,语句分号前面的都是运算表达式: 后自增,先运算完整个表达式(分号前面的都是表达式),再进行自增: 2.赋值 ...

  9. 清除浏览器默认样式——css reset & normalize.css

    css reset 自己挨个清除很麻烦 可以使用网上一些css库——css reset 把模板复制到css文件最上方,其他的样式我们自己编写来覆盖它们 但是这个也有一些弊端,会把一些本来需要的样式给清 ...

  10. 天猫精灵业务如何使用机器学习PAI进行模型推理优化

    引言 天猫精灵(TmallGenie)是阿里巴巴人工智能实验室(Alibaba A.I.Labs)于2017年7月5日发布的AI智能语音终端设备.天猫精灵目前是全球销量第三.中国销量第一的智能音箱品牌 ...