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

以上原创,转载请附出处。

转载于:https://www.cnblogs.com/barefoot/p/9670196.html

drupal7 smtp+mimemail+mailsystem 实现发送html邮件相关推荐

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

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

  2. 手工轻松发送匿名邮件

    发送匿名邮件通常需要工具软件和有该服务的服务器来实现.如果你想发送一封匿名邮件,一时又忘记了提供该项服务的网站服务器地址,或者手头又没有专门的发信工具软件,那么本文介绍的手工发送匿名邮件的方法或许对你 ...

  3. JAVA 发送GMAIL 邮件

    JAVA发送GMAIL邮件    废话不多说 上代码 不懂的方法可以百度 都有 package com.pos.pos_conn.util.email;import java.util.Propert ...

  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中发送emai ...

  6. Java 通过SMTP实现发送QQ邮件

    在eclipse中创建项目,并把javax.amil.jar和commons-email-1.5,jar复制到项目中 链接:https://pan.baidu.com/s/1sQjA1GEpKi6IJ ...

  7. JavaMail 使用POP3/SMTP服务发送QQ邮件

    目录 一.说明 二.理解 三.实现 1.导入jar包 2.用户认证 3.发送邮件 创建步骤 简单的Email 带HTML的E-mail 带图片的Email 包含附件的邮件 一.说明 邮件服务器 为用户 ...

  8. (Python)使用SMTP发送QQ邮件

    要想通过QQ邮箱来发送邮件,需要开启QQ邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了. 接下来看看QQ的邮件服务器配置: (授权码填写在代码的 ...

  9. 通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”的解决方案(三种可能性,不妨一试)...

    IDE:Visual Studio 2010[C#] + .NET 4.0框架 引用.NET 4.0框架的System.Net.Mail命名空间开发发送邮件的程序.发送方:QQ邮箱 接收方:163邮箱 ...

最新文章

  1. mysql persistent_MySQL关于InnoDB的几个错误
  2. 美剧中常用地道英语口语,快收了
  3. 网络营销外包专员浅析网络营销外包如何防止发布的外链被删除呢?
  4. 全网独发gensim中similarities.Similarity用法
  5. 批次管理相关事务代码
  6. 函数调用方式__stdecl _stdcall _fastcall __thiscall介绍
  7. Android系统共享一套sdk
  8. XAML实例教程系列 - 资源(Resources)
  9. mysql 5.6.17 备份还原_mysql 备份和恢复
  10. 程序开发中常用的密码学家的算法推荐清单
  11. LoadRunner 11简单使用
  12. linux java服务,在Linux上运行Java应用程序即服务
  13. 关于MDT自动部署软件的一些资料
  14. Linux考试题(带答案)
  15. 机器学习、神经网络、深度学习的关系
  16. 2021非常全的接口测试面试题及参考答案
  17. Excel函数公式大全—MATCH函数
  18. 金蝶专业版怎么反过账当月_金蝶KIS专业版没有反过账功能,怎么反过账
  19. python生成饼图文件_python 生成复合饼图
  20. 一篇文章彻底搞懂海明码

热门文章

  1. 彻底下载32位office2010
  2. web自动化测试python+selenium学习总结----selenium安装、浏览器驱动下载
  3. os.path 大全
  4. android中finish和system.exit方法退出的区别
  5. 转载:不投简历,如何获得月薪2万的工作
  6. jsp下Kindeditor环境搭建
  7. Internal table 备忘
  8. SharePoint:扩展DVWP - 第34部分:使用图标形式的表单操作链接
  9. ICP算法(Iterative Closest Point迭代最近点算法)
  10. php脚本日志文件,php脚本-定期删除日志文件,删除历史日志 保留最近7天