Magento 2用代码发送邮件
Magento 2用代码发送邮件
首先,在 NameSpace/ModuleName/etc/adminhtml/system.xml 文件中的section 和 group创建配置字段,如下所示:
然后在后台 MARKETING - Communications - Email Templates 里创建一个邮件模板,名字叫email_template_field_id ,在那里我们可以选择使用哪个电子邮件模板。
在模块的 etc/目录下创建一个电子邮件模板配置文件,文件名是email_templates.xml
在 view/frontend/email 目录下创建电子邮件模板文件,作为email_template.xml文件中指定的名称。在这里,我们将使用 email_template.html 名称作为电子邮件模板。其中第一行的@subject后面的内容为发送邮件的标题。$myvar1,$myvar2……是向邮件模版传递的变量,通过数组的形式传递。
现在模板已经准备好了,我们在需要发送邮件的地方添加以下代码,其中$receiverInfo 和 $senderInfo 分别为收件人和发件人的地址。
我们创建一个助手函数来实现邮件发送功能。文件名 Helper/Email.php
邮件模板循环数组变量
创建 view/layout/order_items.xml 文件,
创建 view/templates/order_items.phtml 文件,
<?php
$items = $block->getItems()
?>
<table class="email-items">
<thead>
<tr>
<th class="item-id">
<?= /* @escapeNotVerified */ __('ID'); ?>
</th>
<th class="item-name">
<?= /* @escapeNotVerified */ __('Name'); ?>
</th>
<th class="item-sku">
<?= /* @escapeNotVerified */ __('Sku'); ?>
</th>
<th class="item-qty">
<?= /* @escapeNotVerified */ __('Quantity'); ?>
</th>
<th class="item-date">
<?= /* @escapeNotVerified */ __('Date'); ?>
</th>
</tr>
</thead>
<tbody>
<?php foreach ($items as $item): ?>
<tr>
<td><?php echo $item->getData('entity_id'); ?></td>
<td><?php echo $item->getData('name'); ?></td>
<td><?php echo $item->getData('sku'); ?></td>
<td><?php echo (int)$item->getData('qty'); ?></td>
<td><?php echo $item->getData('updated_at'); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
如有问题请留言,谢谢。
