2019独角兽企业重金招聘Python工程师标准>>>

class DealerWholesale extends \Magento\Framework\Model\AbstractModel
{
    /**
     * @var \Magento\Framework\Mail\Template\TransportBuilder
     */
    protected $_transportBuilder;

/**
     * @var \Magento\Framework\Translate\Inline\StateInterface
     */
    protected $inlineTranslation;

/**
     * @var \Magento\Store\Model\StoreManagerInterface
     */
    protected $_storeManager;

/**
     * @var \Magento\Framework\App\Config\ScopeConfigInterface
     */
    protected $scopeConfig;

public function __construct(
        \Magento\Framework\Model\Context $context,
        \Magento\Framework\Registry $registry,
        \Magento\Framework\Mail\Template\TransportBuilder $transportBuilder,
        \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
        \Magento\Store\Model\StoreManagerInterface $storeManager,
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
    )
    {
        $this->_transportBuilder = $transportBuilder;
        $this->_storeManager = $storeManager;
        $this->inlineTranslation = $inlineTranslation;
        $this->scopeConfig = $scopeConfig;

parent::__construct($context, $registry);
    }

/**
     * 发邮件
     * @param array $tpl_vars 模板变量数组
     * @return bool
     * @throws \Magento\Framework\Exception\MailException
     */
    public function sendEmail($tpl_vars=[])
    {
        $receiver_email = $this->_getConfig('email');
        $receiver_name = $this->_getConfig('name');

//增加模板变量
        $tpl_vars['recipient'] = $receiver_name;
        $tpl_vars['store'] = $this->_storeManager->getStore();

try {
            $this->inlineTranslation->suspend();
            $store = $this->_storeManager->getStore()->getId();
            $transport = $this->_transportBuilder->setTemplateIdentifier('dealer_wholesale_email_template')
                ->setTemplateOptions(['area' => 'frontend', 'store' => $store])
                ->setTemplateVars($tpl_vars)
                ->setFrom('general')
                ->addTo($receiver_email, $receiver_name)
                ->getTransport();
            $transport->sendMessage();
            $this->inlineTranslation->resume();

return true;
        }catch (\Magento\Framework\Exception\MailException $e) {
            return false;
        }
    }

//获取系统后台配置
    protected function _getConfig($field) {
        return $this->scopeConfig->getValue(
            'trans_email/dealer_wholesale/' . $field,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
}

转载于:https://my.oschina.net/ganfanghua/blog/3027395

magento2 发邮件相关推荐

  1. 利用exchangelib快速上手使用python发邮件

    前言 之前一直知道使用python smtp发邮件,但是最近发现一个神器exchangelib,用这个神器发邮件,简直简单的不能再简单了,官方文档在这里 实例 只需要将下面的xxx改成你的信息就可以了 ...

  2. 公司内部exchange2010 下删除误发邮件

    1.Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 2.get-mailbox | search-mailbox -Search ...

  3. 自动发邮件的程序 c语言,5分钟!教你用C语言发送邮件:附送源码+教学!

    5分钟!教你用C语言发送邮件:附送源码+教学!-1.jpg (10.71 KB, 下载次数: 0) 2018-9-3 02:21 上传 关注<一碳科技>,获取更多知识! 前言 相信年夜家都 ...

  4. 创建oracle发邮件job导致的故障

    前几天创建了个发邮件的存储过程,想把数据库每天的运行情况自动发到邮箱,没想到第二天就出了问题,在dbms/trace目录下产生了大量的xxx_j000_xxx.trc文件,一分钟产生2个.alter日 ...

  5. MDaemon 10.1.2 通过Webclient发邮件时,提示“发邮件时发生错误

    MDaemon 10.1.2 通过Webclient发邮件时,提示"发邮件时发生错误",经查发现服务里边有个Simple mail transfer protocol 服务被启用, ...

  6. 猫猫学iOS(四十五)之常用的小功能比如打电话、打开网址、发邮件、发短信打开其他应用。...

    猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 简介 iOS中的很多小功能都 ...

  7. vba给服务器发送消息,使用VBA实现发邮件功能

    财务MM经常要给员工发送每月的工资信息,一个个发送实在是太忙了.本文将介绍使用VBA实现工资信息的自动发送.有了这个功能,财务MM只需要把基本数据准备好,然后按下按钮只要选择需要发送的对象.就可以快速 ...

  8. 【知识积累】JavaMail实现发邮件功能

    一.前言 今天闲来没事,想着通过程序来给别人发邮件.于是,上网搜了一下,相应的资料也很多,刚开始完成了邮件的简单发送,后来想如何能发送附件,继续寻找 答案,但是遇到了一个问题是当我使用txt类型作为附 ...

  9. python自动化发送邮件_python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下(详解)...

    简介 发邮件前我们需要了解的是邮件是怎么一个形式去发送到对方手上的,通俗点来说就是你写好一封信,然后装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去,其他的就不关心了,只是关心时间,而电子邮 ...

  10. 常用小功能(打电话、发短信、发邮件)

    打电话-⽅方法1 ● 最简单最直接的⽅方式:直接跳到拨号界⾯面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApp ...

最新文章

  1. 为 Django admin 登录页添加验证码
  2. 热闹的聚会与尴尬的聚会_如何增加(和保存)您最喜欢的技术聚会
  3. UITableViewCell 左侧滑动删除按钮 添加图片 (不完美解决)
  4. Skype For Business 2015实战系列6:后端数据库安装CU6补丁
  5. 每日问题记录20171117
  6. (转)springcloud(一):大话Spring Cloud
  7. 接口测试-接口定义功能-前端-实现动态增删表单
  8. 2018 Multi-University Training Contest 8 - Taotao Picks Apples
  9. 高通QCA9563详细资料全集-datasheet-原理图-PCB-HDK等资料免费下载
  10. 阿里云热修复Sophix接入
  11. R中报错ERROR: configuration failed for package ‘magick’
  12. 动手实践感受下企业微信的网页授权登录、扫码授权登录
  13. 图片批量合成PDF方法
  14. IPQ6000 WIFI6无线配置和启动过程
  15. O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸老师)
  16. 数据库简介、SQL 语的增加删除修改查询命令
  17. think php 导出excel,Thinkphp5导出excel
  18. Postman批量运行
  19. “黎明号”(Dawn)深空航天器与高效离子引擎
  20. mysql5.7.20 安装过程记录

热门文章

  1. linux聪某个附属组删除_linux-user-group添加与删除
  2. 字节跳动一面:如何从 100 亿 URL 中找出相同的 URL?
  3. 用mysql计算年龄lt;gt;,什么是运算符lt; =gt;在MySQL中?
  4. python中nums.append_Python程序中的append()和extend()
  5. mysql server 6.0_MySQL Server 6.0完全卸载以及卸载中遇到的问题
  6. ssh mysql视屏_ssh+mysql实现的Java web在线订电影票系统项目源码附带视频指导教程...
  7. pythonATM,购物车项目实战_补充3——core模块
  8. sql Server 发送邮件 错误类型及原因
  9. sh执行文件 参数传递_shell中脚本参数传递的两种方式
  10. sql季度函数_SparkSql几个常用函数