第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 Shopware 6 控制器中發(fā)送電子郵件?

如何在 Shopware 6 控制器中發(fā)送電子郵件?

PHP
LEATH 2023-07-08 15:43:57
在 Shopware 5 中,有一個(gè)mail->send()功能可以發(fā)送包含所需模板和內(nèi)容的電子郵件。Shopware 6 中的功能名稱是什么?PS我看到一些我認(rèn)為是需要的文件,一些郵件發(fā)送的例子將受到歡迎。Shopware\Core\Content\MailTemplate\Service\MessageFactory.php Shopware\Core\Content\MailTemplate\Service\MailSender.php
查看完整描述

1 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

在 Shopware 6 中,您還擁有 Mailservice,它為您提供send() 方法。

所以基本上使用該服務(wù)的一個(gè)非常簡(jiǎn)單的示例是:

public function __construct(

? ? MailServiceInterface $mailService,

) {

? ? $this->mailService = $mailService;

}


private function sendMyMail(SalesChannelContext $salesChannelContext): void

{

? ? $data = new ParameterBag();

? ? $data->set(

? ? ? ? 'recipients',

? ? ? ? [

? ? ? ? ? ? 'foo@bar.com' => 'John Doe'

? ? ? ? ]

? ? );


? ? $data->set('senderName', 'I am the Sender');


? ? $data->set('contentHtml', 'Foo bar');

? ? $data->set('contentPlain', 'Foo bar');

? ? $data->set('subject', 'The subject');

? ? $data->set('salesChannelId', $salesChannelContext->getSalesChannel()->getId());


? ? $this->mailService->send(

? ? ? ? $data->all(),

? ? ? ? $salesChannelContext->getContext(),

? ? );

}

還要確保在您的services.xml.


<service id="Your\Namespace\Services\YourSendService">

? <argument id="Shopware\Core\Content\MailTemplate\Service\MailService" type="service"/>

</service>

電子郵件模板


如果您想使用電子郵件模板,還有如何在插件中添加郵件模板


如果您有電子郵件模板,則需要在發(fā)送電子郵件之前獲取它。然后,您可以從電子郵件模板中獲取內(nèi)容,以將這些值傳遞給該send()方法。


private function getMailTemplate(SalesChannelContext $salesChannelContext, string $technicalName): ?MailTemplateEntity

{

? ? $criteria = new Criteria();

? ? $criteria->addFilter(new EqualsFilter('mailTemplateType.technicalName', $technicalName));

? ? $criteria->setLimit(1);


? ? /** @var MailTemplateEntity|null $mailTemplate */

? ? $mailTemplate = $this->mailTemplateRepository->search($criteria, $salesChannelContext->getContext())->first();


? ? return $mailTemplate;

}

您可以稍后設(shè)置來自電子郵件模板(也可以在管理中使用)的電子郵件值,而不是在發(fā)送方法中對(duì)其進(jìn)行硬編碼。


$data->set('contentHtml', $mailTemplate->getContentHtml());

$data->set('contentPlain', $mailTemplate->getContentPlain());

$data->set('subject', $mailTemplate->getSubject());


查看完整回答
反對(duì) 回復(fù) 2023-07-08
  • 1 回答
  • 0 關(guān)注
  • 191 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)