/** * @param string $email * @param string $token * * @return \Generated\Shared\Transfer\SendMailResponsesTransfer */ public function send($email, $token) { $mailTransfer = new MailTransfer(); $mailRecipientTransfer = new MailRecipientTransfer(); $mailRecipientTransfer->setEmail($email); $mailTransfer->addRecipient($mailRecipientTransfer); $mailTransfer->setSubject(static::SUBJECT); $mailTransfer->setTemplateName(static::TEMPLATE); $mailTransfer->setMerge(true); $mailTransfer->setMergeLanguage('handlebars'); $mailTransfer->setGlobalMergeVars(['reset_password_token' => $token]); $this->getFactory()->getMailFacade()->sendMail($mailTransfer); }
/** * @return void */ public function testSendMailContainsRecipientMetadata() { $mailTransfer = new MailTransfer(); $mailTransfer->addRecipient((new MailRecipientTransfer())->setEmail('*****@*****.**')->setMetadata(['RcptVar1' => 'RcptValue1', 'RcptVar2' => 'RcptValue2'])); $this->mandrillMock->messages->expects($this->once())->method('sendTemplate')->with($this->anything(), $this->anything(), $this->arrayContainsKeyEqualTo('recipient_metadata', [['rcpt' => '*****@*****.**', 'values' => ['RcptVar1' => 'RcptValue1', 'RcptVar2' => 'RcptValue2']]]), $this->anything(), $this->anything(), $this->anything()); $this->mailSender->sendMail($mailTransfer); }
/** * @param \Generated\Shared\Transfer\MailTransfer $mailTransfer * @param string $email * * @return void */ protected function addMailRecipient(MailTransfer $mailTransfer, $email) { $mailRecipientTransfer = new MailRecipientTransfer(); $mailRecipientTransfer->setEmail($email); $mailTransfer->addRecipient($mailRecipientTransfer); }