magento email:发送自定义邮件

Magento邮件发送SMTP发送邮件 亲测好用,发件人可显示设置的邮箱地址,而不是magento的代发地址。将app文件夹内的所有文件,复制到magento安装目录app文件夹中。设置目录:magento后台->system->configuration->ASCHRODER EXTENSIONS->SMTP pro 立即下载
在magento中实现简单的邮件发送并不复杂,不过要想用特定邮件模板,就需要对magento邮件系统做一些深入了解,本文就分析一下如何发送自定义邮件。之前已经发了一篇介绍magento基本邮件设置的文章 Magento Transactional Emails常规设置,大家可以先了解一下。

有几个关键的点先说一下,大家好有个印象,system.xml,config.xml,core_config_data(table名),邮件模板(Admin->System->Transactional Emails),这几个因素在配置自定义邮件过程中几乎都会用到,但是如果对magento email机制比较了解的话,就可以省掉一些因素,快速的实现自定义邮件发送功能,当然为了加深了解,本文会提到所有因素。

首先是system.xml,这个文件建立之后,在后台System->Configuration的对应tab中,就会找到相应的配置,请看如下示例:

  1. <?xml version="1.0"?>  
  2. <?xml version="1.0" encoding="UTF-8"?>  
  3. <config>  
  4.     <sections>  
  5.         <customer translate="label" module="employee">  
  6.             <groups>  
  7.                 <quote_email translate="label">  
  8.                     <label>Quote Emails</label>  
  9.                     <frontend_type>text</frontend_type>  
  10.                     <sort_order>5</sort_order>  
  11.                     <show_in_default>1</show_in_default>  
  12.                     <show_in_website>0</show_in_website>  
  13.                     <show_in_store>0</show_in_store>  
  14.                     <fields>  
  15.                             <exist_user_quote_template translate="label">  
  16.                                 <label>Existing User Quote Email</label>  
  17.                                 <frontend_type>select</frontend_type>  
  18.                                 <source_model>adminhtml/system_config_source_email_template</source_model>  
  19.                                 <sort_order>3</sort_order>  
  20.                                 <show_in_default>1</show_in_default>  
  21.                                 <show_in_website>1</show_in_website>  
  22.                                 <show_in_store>1</show_in_store>  
  23.                             </exist_user_quote_template>  
  24.                     </fields>  
  25.                 </quote_email>  
  26.             </groups>  
  27.         </customer>  
  28.     </sections>  
  29. </config>  
xml中的sections标签紧跟的是customer标签,所以进入System->Configuration后,在左侧要点击Customer Configuration(因为标签customer已经给出了限定范围)标签,找到Quote Emails,会看到有一个Existing User Quote Email的label,这些都是在system.xml里配置的,当然如果想要改变这些label,只需要在system.xml中改就可以。

这里要注意的是<source_model>adminhtml/system_config_source_email_template</source_model>这个决定了Existing User Quote Email对应的下拉框,包含了所有的已存在的邮件模板,并且在(Admin->System->Transactional Emails)中可以看到并修改他们。

接下来看config.xml文件

  1. <template>  
  2.            <email>  
  3.                <customer_quote_email_exist_user_quote_template translate="label" module="employee">  
  4.                    <label>jonas Emails</label>  
  5.                    <file>quote/exist_user.html</file>  
  6.                    <type>html</type>  
  7.                </customer_quote_email_exist_user_quote_template>  
  8.            </email>  
  9.        </template>  
注意标签<customer_quote_email_exist_user_quote_template>,它和system.xml里的标签是有关联的,刚好是system.xml里的<customer>,<quote_email>,<exist_user_quote_template>这三个标签的组合,并且这里一定要这么写,不这么写的话,这个模板文件exist_user.html在Customer Configuration的下拉选项中就不会出现。然后别忘了在app/locale/en_US/template/email/quote/下面要添加exist_user.html;注意这里(config.xml)的label的值是jonas Emails,进入System->Configuration,在左侧点击Customer Configuration标签,在Quote Emails下面,对应Existing User Quote Email的下拉框就会看到名称为jonas Emails的选项(前面说了,如果config和system的标签关联不上的话,这里就不会出现jonas Emails),选择他之后,一定要点击右上角的save config按钮,这个设置才能被保存到DB,即table core_config_data,注意在DB中保存的值并不是jonas Emails,而是它的父标签customer_quote_email_exist_user_quote_template;
如下图:

当上述步骤都完成后,再看code如何实现发邮件,一个简单例子:

  1.                      define('EMAIL_TEMPLATE', "customer/quote_email/exist_user_quote_template");  
  2. $mailSubject = 'my subject';  
  3. $sender = Array('name'  => 'Customer Service',  
  4.             'email' => 'mail@test.com');  
  5. $to = array('service@test.com');  
  6.   
  7. /*This is optional*/  
  8. $storeId = Mage::app()->getStore()->getId();   
  9. $template = Mage::getStoreConfig(EMAIL_TEMPLATE);   
  10. $mailConfirm = Mage::getModel('core/email_template');  
  11. $translate  = Mage::getSingleton('core/translate');  
  12.   
  13. $mailConfirm ->setTemplateSubject($mailSubject)  
  14.          ->sendTransactional($template, $sender, $to, '',   
  15.                                   Array('subject'=>$mailSubject,'customer'=>$customer),$storeId);  
  16. $translate->setTranslateInline(true);      
例子中的EMAIL_TEMPLATE是customer/quote_email/exist_user_quote_template,实际上就是system.xml中三个标签的组合。当调用函数Mage::getStoreConfig(EMAIL_TEMPLATE) 的时候,magento会去查找core_config_data这个表,找到customer/quote_email/exist_user_quote_template对应的的值是什么(如果这个值在DB不存在,会转向config.xml查找,这是另外一种情况,下次介绍)。这里对应的就是customer_quote_email_exist_user_quote_template,然后magento才会去config.xml匹配这个值,最终找到模板quote/exist_user.html。

最后解释下core_config_data这个table如下图所示:


可以看到customer/quote_email/exist_user_quote_template对应的value是customer_quote_email_exist_user_quote_template,前面已经介绍Mage::getStoreConfig(EMAIL_TEMPLATE)实质上就是Mage::getStoreConfig('customer_quote_email_exist_user_quote_template'),而在config中我们已经定义
customer_quote_email_exist_user_quote_template对应的模板是exist_user.html,所以这里实际上使用的模板就是exist_user.html。或许你已经发现有些path对应的value是个数字,这里有个26,其实26是邮件模板的ID,点击Admin->System->Transactional Emails,就会看到每个模板的ID;就是说,本文介绍的是较复杂的magento发送自定义邮件的方法,还有一些其他方法也能实现发送自定义邮件,比如用已存在email template来修改,无需再添加config.xml和system.xml,这样在core_config_data中的value就会是一个数字,发送邮件的时候,使用的就是ID为26所对应的模板;更多的时候,我们都不会再去重新写html,config等文档,只需要在Admin->System->Transactional Emails新加一个template,然后使用这个template即可,还有一种稍简单点的不需添加system.xml的的自定义邮件发送方法magento email:快速实现发送自定义邮件!


Magento-SMTP-Email magento的SMTP插件magento的SMTP插件magento的SMTP插件 立即下载

相关推荐

magento 发邮件插件

Inchoo Email 有别于ASchroder_SMTPPro的另一款邮件插件 功能较简单 但是好用

magento中修改和自定义邮件模板

1. Magento Transactional Emails常规设置  http://blog.youkuaiyun.com/shangxiaoxue/article/details/7755925 2. magento email:发送自定义邮件  http://blog.youkuaiyun.com/shangxiaoxue/article/details/7759591

PHP程序员 - muzihao2014 634

jmail发邮件,可自定义发件人,收件人

jmail发邮件,可自定义发件人,收件人jmail发邮件,可自定义发件人,收件人 这可是我珍藏的

python(Django)发送自定义邮件----自定义邮件样式(模板),拿来直接用

利用Python(Django)发送电子邮件,自定义邮件内容样式

L_Augety的博客 1648

怀旧党必备!用iPhone4s重温iOS6的保姆级教程(含游戏资源包)

本文提供了一份详细的iPhone4s降级至iOS6.1.3的保姆级教程,包括设备准备、越狱操作、系统降级及资源优化全流程。通过自制固件和越狱工具,用户可以重温经典的拟物化设计和流畅体验,同时获取经典游戏资源包,打造复古游戏神器。

nft7creator的博客 885

CPU系统级验证——测试激励——imperas公司riscvOVPsimPlus文件分析

本分析重点关注该repo向量扩展部分。 1. repo简介 该repo是指令集验证的仿真环境包括,大部分是指令集的测试用例,也包含了一些模拟器,如riscvOVPsimPlus。 主要介绍的是riscvOVPsimPlus指令集模拟器,riscvOVPsimPlus(下面统称ISS)是imperas公司在riscvOVPsim基础上扩充了向量扩展的指令集模拟器,该repo于今年9月份部分开源 什么叫部分开源呢? 首先该repo必须在imperas官网注册下载,而且必须是企业用户(免费邮箱人家瞧不上.

知识,既贵,又便宜。 4460

magento邮件使用php,Magento模块示例发送邮件

今天写一个magento模块,主要的功能是实现前台用户利用表单给管理员发送邮件的一个功能,功能很简单,但在这个模块中,可以了解到一些有关magento的一些细节,比如,如何获取系统标签id,如何使用magento默认的提示信息,如何使用smtp服务等等。新建模块Inchoo目录结构如下:Inchoo|--_SimpleContact|----controllers|--IndexControlle...

weixin_30315143的博客 474

鱼眼相机矫正实战:除了棋盘格,试试横向展开和经纬度法(OpenCV4/C++实现对比)

本文对比了鱼眼相机矫正的三种主流方法:棋盘格标定法、横向展开法和经纬度法,通过OpenCV4/C++实战代码解析,帮助开发者在自动驾驶、VR全景拼接和安防监控等场景中选择最适合的技术方案。重点分析了各方法的精度、处理速度和适用场景,为工程实践提供实用指导。

weixin_29032489的博客 284

magento email:快速实现发送自定义邮件

当我们对magento email机制有一定的了解之后,便可以在模块中使用自定义邮件模板快速实现发送邮件功能!登入后台system->Transactional Emails,单击右上角Add New Template,选择一个已存在的template,单击Load Template 修改Template Information的内容,包括Template Name ,Template Su

xmlife的专栏 2016

Python爬取上市公司年报并进行财务比率分析:基于异步爬虫与数据挖掘的实战

在当今数据驱动的投资时代,获取并分析上市公司财务数据对于投资者、分析师和研究人员至关重要。中国证监会指定的上市公司信息披露网站——巨潮资讯网,包含了所有A股上市公司的年报、季报及其他公告信息。本项目将展示如何使用Python最新技术栈爬取巨潮网的年报数据,提取关键财务指标,并进行深入的财务比率分析。本文将采用异步爬虫技术提高数据采集效率,使用现代解析库处理PDF和HTML文档,并结合pandas进行数据分析和可视化。整个过程将遵循合规合法的爬虫伦理,尊重网站robots.txt协议,设置合理的请求间隔。

2201_76125261的博客 666

Python 爬虫进阶技巧:新手必学的反爬突破与效率优化

本文系统总结了爬虫进阶的核心技巧,针对新手常见的反爬拦截、效率低下、动态页面解析等痛点问题,提出了可落地的解决方案。主要内容包括:通过随机UA池、代理IP池和Cookie池突破常见反爬机制;利用多线程/异步请求提升爬取效率;使用Selenium解析动态渲染页面;以及数据清洗方法提升数据质量。文中提供了完整的代码示例和实战对比数据,并强调爬虫开发应遵守合规性要求。这些技巧能帮助开发者快速提升爬虫实战能力,应对80%以上的常见爬取需求。

2503_91057718的博客 1436

Magento 邮件模板以及发送邮件细节

<br />用户注册后是否需要邮件验证,如果需要的话用户注册的邮件没有发送成功,那么这个用户是无法LOGIN的,以下为设置部分:<br />system->configure->customers-customer configuration->create new account options这个里的Require Emails Confirmation 为No<br /> <br />邮件的实现过程:<br />拿order为例:<br />app/code/core/Mage/Sales/Model

magentodev的专栏 1331

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

magento发送email

magento的发送邮件有两种形式,直接发送邮件和邮件队列。 邮件发送的相关方法在 ..\app\code\core\Mage\Core\Model\Email 直接发送邮件: $mailTemplate = Mage::getModel('core/email_template'); $currentStoreId = Mage::app()->getStore()-&...

qq_36619427的博客 537

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

西门子TP900精智系列触摸屏和三菱Q系列PLC以太网通信的组态步骤

Robot_PLC_HMI_Automation 6100

【openwrt-21.02】T750 openwrt 双系统说明及切换方法

高度集成的 T750 平台大幅减少组件数量,为产品设计者提供更小的尺寸和更低的功耗。T750 采用先进的 7nm 制程,高度集成 5G 调制解调器和四核 Arm CPU,提供较强的功能和配置,设备制造商得以打造精巧的高性能 CPE 产品,如固定无线接入(FWA)路由器和移动热点。3. preloader 加载并启动 A 系统,若 A 系统的任一启动阶段加载失败,preloader 将重新加载并启动 A 系统 3 次,若 3 次均失败,则自动切换至 B 系统,加载并启动 B 系统。A/B 系统切换流程如下。

wgl307293845的博客 1416

magento 发送邮件,通过magento的机制发送邮件 - magento send custom email

1 system-->email template ,新建一个邮件模板,得到ID 2 设置template_id为这个id $template_id = Mage::getStoreConfig("wailian/product/send1")+0; //后台配置 $mailSubject = Mage::getModel('core/email_template')->load($te

Terry - 专注外贸B2C 2110

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Magento SMTP Pro Email Extension: 提升您的电子邮件发送体验

Magento SMTP Pro Email Extension: 提升您的电子邮件发送体验 如果您正在寻找一个强大、可靠的电子邮件扩展以提升您在Magento电子商务平台上的电子邮件发送体验,那么Magento SMTP Pro Email Extension是一个值得您考虑的选择。 什么是Magento SMTP Pro Email Extension? Magento SMTP Pro Em...

gitblog_00002的博客 468

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

magento邮件使用php,用Magento的Email模板机制发邮件

Magento的Mage::getModel('core/email_template')模型可用来发信。步骤I.在你的模块(其实任意Module都可以)的etc/config.xml的根标签下添加代码Xml代码 收藏代码1{email模板标签名}{限定名n}>限定名>{任何标识性名}{email模板html文件名}html{email模板标签名>a).在global/temp...

weixin_39998521的博客 233

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Magento email模版修改

<br />Magento has a great set of options to manage the Email Templates. Here we are going to see how to create our own Email templates for forgot password and how to change the magento default Email Templates and change the Email Sender options etc.

似水年华 1865

magento邮件使用php,Magento订单成功无邮件发送

Magento订单成功之后,或是有新的订单在MAGENTO1.9.1版本中不发送相应的邮件及抄送邮件至管理员邮箱这个问题是今天我们的一个客户从1.7升级到1.9.1.1时发现的,后来听技术人员说,此问题是由于MAGENTO更改了系统本身的邮件发送方式,所有的这类事情处理都交给了cron.php这个文件来完成 ,但是并不是所有的用户把此文件设置为隔一些时间就执行一次,因此还是需要在客户量不大的情况下...

weixin_29224347的博客 313

在Magento 2中自定义电子邮件模板

详情情趣官网 电子邮件是网店营销策略和品牌推广的重要组成部分,这使得电子邮件模板的创建和定制成为电子商务中一个相当热门的话题。在本文中,我将分析如何自定义Magento 2.3.0字母模板的各种选项。 如果浏览不顺畅请到原文章出处:https://www.sky8g.com/technology/1025/ 请注意可能会提示风险,这是优快云网站设置的问题,如果文章内的链接不是他们的网址,都...

jimbooks的博客 2013

magento发送自定义邮件功能

如何利用magento自带的发送邮件的

恩点创意 1278

用Magento的Email模板机制发邮件(创建自定义模板)

出处:http://koda.iteye.com/blog/623678 Magento的Mage::getModel('core/email_template')模型可用来发信。 步骤I. 在你的模块(其实任意Module都可以)的etc/config.xml的根标签下添加代码 1. 2. 3. 4.

曾健生的专栏 3350
上一篇: magento中有用的代码片段
下一篇: Magento Transactional Emails常规设置
xmlife
博客等级 码龄19年 89粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值