You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 1.9及2.3版本事务邮件回复地址修改及相关代码使用疑问

Magento 1.9与2.3事务邮件Reply-To地址修改方案

你提供的代码适用性说明

你贴出的代码是Magento 1.x版本专属写法,仅适用于Magento 1.9环境,无法在Magento 2.3中使用。
如果仅需要临时修改单次自定义触发邮件的Reply-To地址,这段代码可以直接使用,将setReplyTo方法的入参修改为sales@domain.com即可,放置在你自定义触发事务邮件的业务逻辑位置即可生效。如果需要全局修改所有事务邮件的默认Reply-To地址,无需硬编码,优先走后台配置更易维护。

Magento 1.9 修改方案

全局修改(推荐)

  • 登录Magento 1.9后台,依次进入系统 -> 配置 -> 常规 -> 存储电子邮件地址
  • 找到事务邮件关联的发件人身份(一般默认是「一般联系人」或「销售代表」),将对应回复邮箱修改为sales@domain.com
  • 保存配置后清理全站缓存即可全局生效

自定义场景代码修改

如果仅需要修改特定自定义业务场景的邮件Reply-To,使用你提供的代码修改后即可:

$mailTemplate = Mage::getModel('core/email_template');
$mailTemplate->setReplyTo('sales@domain.com');
$mailTemplate->sendTransactional($templateId, $sender, $recipient, '', $vars, $storeId);

将该代码段放置在你自定义模块的对应业务逻辑文件中即可,不要修改Magento核心源码。

Magento 2.3 修改方案

全局修改(推荐)

  • 登录Magento 2.3后台,依次进入商店 -> 设置 -> 配置 -> 常规 -> 存储电子邮件地址
  • 选择对应发件人身份,将回复邮箱修改为sales@domain.com
  • 保存配置后执行bin/magento cache:clean清理缓存即可生效

自定义场景代码修改

Magento 2不能使用1.x的代码写法,推荐通过插件拦截实现自定义修改:

  1. 在自定义模块中注册插件,拦截Magento\Framework\Mail\Template\TransportBuilder类的getTransport方法
  2. 插件逻辑示例:
public function beforeGetTransport(\Magento\Framework\Mail\Template\TransportBuilder $subject)
{
    $subject->setReplyTo('sales@domain.com');
    return [];
}

配置完成后清理缓存即可对指定场景的邮件生效。


内容的提问来源于stack exchange,提问作者user15926650

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:54:04