本文整理汇总了PHP中Zend\Mail\Message::setBody方法的典型用法代码示例。如果您正苦于以下问题:PHP Message::setBody方法的具体用法?PHP Message::setBody怎么用?PHP Message::setBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Mail\Message
的用法示例。
在下文中一共展示了Message::setBody方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fromWrappedMessage
/**
* @inheritDoc
*/
public static function fromWrappedMessage(MailWrappedMessage $wrappedMessage = null, $transport = null)
{
if (!$wrappedMessage instanceof MailWrappedMessage) {
throw new MailWrapperSetupException('Not MailWrappedMessage');
}
$message = new Message();
foreach ($wrappedMessage->getToRecipients() as $address) {
$message->addTo($address);
}
foreach ($wrappedMessage->getCcRecipients() as $address) {
$message->addCc($address);
}
foreach ($wrappedMessage->getBccRecipients() as $address) {
$message->addBcc($address);
}
$message->setReplyTo($wrappedMessage->getReplyTo());
$message->setFrom($wrappedMessage->getFrom());
$message->setSubject($wrappedMessage->getSubject());
if ($wrappedMessage->getContentText()) {
$message->setBody($wrappedMessage->getContentText());
}
if ($wrappedMessage->getContentHtml()) {
$html = new MimePart($wrappedMessage->getContentHtml());
$html->type = "text/html";
$message->setBody($body);
}
return $message;
}
示例2: render
/**
* @param Message $message
* @return Message
*/
public function render(Message $message)
{
$viewModel = new ViewModel($this->variables);
$viewModel->setTemplate($this->template);
$helperPluginManager = $this->renderer->getHelperPluginManager();
/** @var HeadTitle $helper */
$helper = $helperPluginManager->get('HeadTitle');
// replace headTitle
$headTitle = new HeadTitle();
$headTitle->setAutoEscape(false);
$helperPluginManager->setAllowOverride(true);
$helperPluginManager->setService('HeadTitle', $headTitle);
if (!$message->getBody()) {
$message->setBody(new MimeMessage());
}
$text = new Part($this->renderer->render($viewModel));
$text->charset = 'UTF-8';
$text->boundary = $message->getBody()->getMime()->boundary();
$text->encoding = Mime::ENCODING_BASE64;
$text->type = Mime::TYPE_HTML;
$message->getBody()->addPart($text);
$message->setSubject($headTitle->renderTitle());
// hack for ZF
$message->setBody($message->getBody());
// restore original helper
$helperPluginManager->setService('HeadTitle', $helper);
return $message;
}
示例3: submitAction
public function submitAction()
{
$result = "";
$contact = $this->params()->fromPost();
$captcha = new Captcha(array('name' => 'captcha', 'wordLen' => 6, 'timeout' => 600));
if ($captcha->isValid($_POST['captcha'], $_POST)) {
unset($contact['submit']);
$contact = array_filter($contact);
if ($contact && is_array($contact)) {
$mail = new Mail\Message();
$html = '<p>Contact from Kingsy.co.uk</p><p>=-=-=-=-=-=-=-=-=-=-=-=-=-=</p><p><span></span>From: <span>' . $contact["name"] . '</span></p><p><span></span>Email: <span>' . $contact["email"] . '</span></p><p><span></span>Content<p>' . $contact["content"] . '</p></p>';
$mail->setFrom('contact@kingsy.co.uk', 'Contact Form - Kingsy.co.uk')->addTo("chris@kingsy.co.uk")->setSubject('Contacted');
$bodyPart = new MimeMessage();
$bodyMessage = new MimePart($html);
$bodyMessage->type = 'text/html';
$bodyPart->setParts(array($bodyMessage));
$mail->setBody($bodyPart);
$mail->setEncoding('UTF-8');
try {
$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
$result = true;
} catch (Exception $e) {
print_r($e);
}
} else {
$result = false;
}
} else {
$result = false;
}
return new ViewModel(array('result' => $result));
}
示例4: indexAction
public function indexAction()
{
$form = $this->getServiceLocator()->get('form.contact');
if ($this->getRequest()->isPost()) {
$post = $this->getRequest()->getPost()->toArray();
$form->setData($post);
if ($form->isValid()) {
$content = 'Name: ' . $post['name'] . "\n";
$content .= 'Email: ' . $post['email'] . "\n";
$content .= 'Message: ' . "\n" . $post['message'];
$message = new Message();
$message->addTo('hello@majorapps.co.uk');
$message->setSubject('MajorApps website contact');
$message->setBody($content);
$message->setFrom('rob@clocal.co.uk');
/** @var Smtp $transport */
$transport = $this->getServiceLocator()->get('mail.transport');
$transport->send($message);
// Fallback in-case email fails
$content = '=======================================' . "\n" . date('Y-m-d H:i:s') . "\n" . $content . "\n" . '=======================================' . "\n";
file_put_contents(__DIR__ . '/../../../../../data/message.txt', $content, FILE_APPEND);
$this->flashMessenger()->addSuccessMessage('Message sent successfully');
return $this->redirect()->toRoute('home');
} else {
$this->flashMessenger()->addErrorMessage('Message was not sent successfully');
}
}
return new ViewModel(['form' => $form, 'jargon' => $this->getJargon(), 'features' => $this->getFeatures()]);
}
示例5: send
public function send($subject, $text, $to, $from = null)
{
if (!config('mail.enabled')) {
return;
}
$message = new Message();
$message->setSubject($subject);
if ($from) {
if (is_array($from)) {
$message->setFrom($from[0], $from[1]);
} else {
$message->setFrom($from);
}
}
$message->addTo($to);
$content = '<html><head><title>' . $subject . '</title></head><body>' . $text . '</body></html>';
$html = new Mime\Part($content);
$html->setType(Mime\Mime::TYPE_HTML);
$html->setCharset('utf-8');
$mimeMessage = new Mime\Message();
$mimeMessage->addPart($html);
foreach ($this->attachments as $attachment) {
$mimeMessage->addPart($attachment);
}
$message->setBody($mimeMessage);
try {
$transport = new SmtpTransport(new SmtpOptions(config('mail.options')));
$transport->send($message);
} catch (\Exception $e) {
throw $e;
}
return $this;
}
示例6: sendEmail
public function sendEmail($from, $to, $cc, $subject, $body, $attachmentFilename)
{
$message = new Message();
$message->setFrom($from);
$message->setTo($to);
$message->setCc($cc);
$message->setSubject($subject);
$mimeMessage = new \Zend\Mime\Message();
$part = new \Zend\Mime\Part($body);
$part->setType(Mime::TYPE_TEXT);
$part->setCharset('UTF-8');
$mimeMessage->addPart($part);
$part = new \Zend\Mime\Part('<p>' . $body . '<p>');
$part->setType(Mime::TYPE_HTML);
$part->setCharset('UTF-8');
$mimeMessage->addPart($part);
$part = new \Zend\Mime\Part($body);
$part->setType(Mime::TYPE_OCTETSTREAM);
$part->setEncoding(Mime::ENCODING_BASE64);
$part->setFileName($attachmentFilename);
$part->setDisposition(Mime::DISPOSITION_ATTACHMENT);
$mimeMessage->addPart($part);
$message->setBody($mimeMessage);
$this->transport->send($message);
$this->debugSection('ZendMailer', $subject . ' ' . $from . ' -> ' . $to);
}
示例7: sendMail
public function sendMail(MailMessage $message, string $templateName = null, array $params = [])
{
if (null !== $templateName) {
$message->setBody($this->prepareBody($templateName, $params));
}
$this->mailer->sendMail($message);
}
示例8: sendRestPasswordEmail
/**
* send
*
* @param ResetPassword $resetPassword
* @param User $user
* @param array $mailConfig
*
* @return mixed
*/
public function sendRestPasswordEmail(ResetPassword $resetPassword, User $user, $mailConfig)
{
$toEmail = $user->getEmail();
$fromEmail = $mailConfig['fromEmail'];
$fromName = $mailConfig['fromName'];
$subject = $mailConfig['subject'];
$bodyTemplate = $mailConfig['body'];
//Ignore blank emails
if (!trim($toEmail)) {
return;
}
$vars = ['name' => '', 'userId' => $user->getId(), 'url' => 'https://' . $_SERVER['HTTP_HOST'] . '/reset-password?fromPasswordResetEmail=1&id=' . $resetPassword->getResetId() . '&key=' . $resetPassword->getHashKey()];
foreach ($vars as $name => $value) {
$bodyTemplate = str_replace('__' . $name . '__', $value, $bodyTemplate);
// Handle BC
$bodyTemplate = str_replace('{' . $name . '}', $value, $bodyTemplate);
}
try {
$html = new MimePart($bodyTemplate);
$html->type = "text/html";
$body = new MimeMessage();
$body->setParts([$html]);
$message = new Message();
$message->setBody($body)->setFrom($fromEmail, $fromName)->setSubject($subject);
foreach (explode(',', $toEmail) as $email) {
$message->addTo(trim($email));
}
$transport = new \Zend\Mail\Transport\Sendmail();
$transport->send($message);
} catch (InvalidArgumentException $e) {
// nothing
}
}
示例9: sendEmailAction
protected function sendEmailAction()
{
$userTable = $this->getServiceLocator()->get('UserTable');
if (true) {
//$this->request->isPost()) {
$subject = 'subject';
//$this->request->getPost()->get('subject');
$body = 'body';
//$this->request->getPost()->get('body');
$fromUserId = 1;
//$this->user->id;
$toUserId = 2;
//$this->request->getPost()->get('toUserId');
$fromUser = $userTable->getUser($fromUserId);
$toUser = $userTable->getUser($toUserId);
$mail = new Mail\Message();
$mail->setFrom($fromUser->email, $fromUser->name);
$mail->addTo($toUser->email, $toUser->name);
$mail->setSubject($subject);
$mail->setBody($body);
$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
}
return true;
}
示例10: packData
/**
* pack tagged array of data to SendMessage format
*
*
* @param Array $mailArray
*
* return array of data that will be converted to
* send message
*
* @return Array
*/
public function packData($mailArray)
{
$mimeMail = new Message();
$textPart = $this->packText($mailArray['text'], $mailArray['header']['content-type']);
unset($mailArray['header']['content-type']);
$attachmentParts = $this->packAttachments($mailArray['link']);
if (count($attachmentParts)) {
$mimeMail->addPart($textPart);
foreach ($attachmentParts as $part) {
$mimeMail->addPart($part);
}
} else {
$mimeMail->addPart($textPart);
}
$returnMail = new SendMessage();
$returnMail->setBody($mimeMail);
foreach ($mailArray['header'] as $header => $value) {
switch ($header) {
case 'references':
if (is_array($value)) {
$res = '';
foreach ($value as $reference) {
$res .= $reference . ' ';
}
} elseif (is_string($value)) {
$res = $value;
} else {
continue;
}
$headers = $returnMail->getHeaders();
$headers->addHeaderLine($header, $res);
$returnMail->setHeaders($headers);
break;
case 'bcc':
$returnMail->addBcc($value);
break;
case 'cc':
$returnMail->addCc($value);
break;
case 'to':
$returnMail->addTo($value);
break;
case 'from':
$returnMail->addFrom($value);
break;
case 'reply-to':
$returnMail->addReplyTo($value);
break;
case 'subject':
$returnMail->setSubject($value);
break;
default:
$headers = $returnMail->getHeaders();
$headers->addHeaderLine($header, $value);
$returnMail->setHeaders($headers);
break;
}
}
return $returnMail;
}
示例11: buildMessage
/**
* Build Message
*
* @return MailMessage
*/
public function buildMessage()
{
// prepare html body
$htmlBody = $this->renderer->render($this->viewModel);
// prepare text body
$textBody = $this->buildTextBody($htmlBody);
// prepare subject
$subject = $this->buildSubject($htmlBody);
// prepare html part
$htmlPart = new MimePart($this->buildHtmlHeader() . $htmlBody . $this->buildHtmlFooter());
$htmlPart->type = 'text/html';
// prepare text part
$textPart = new MimePart($textBody);
$textPart->type = 'text/plain';
// prepare mime message
$mailBody = new MimeMessage();
$mailBody->setParts(array($textPart, $htmlPart));
// prepare message
$this->message = new MailMessage();
$this->message->setEncoding($this->encoding);
$this->message->setFrom($this->senderMail, $this->senderName);
$this->message->setSubject($subject);
$this->message->setBody($mailBody);
// return mailer
return $this;
}
示例12: addAction
/**
* Add Action
* <br/> Responsible for :
* <br/>In case Get verb -> Display Add new Book Form
* <br/>In case Post verb -> Add new book details into Database
* After Submit Book Form
* @return ViewModel add view
*/
public function addAction()
{
$form = new BookForm();
$form->get('submit')->setValue('Add');
// Another way to set Submit button value
// $form->get('submit')->setAttribute('value', 'Add');
$request = $this->getRequest();
// Check If request is Post verb
if ($request->isPost()) {
$book = new Book();
$form->setInputFilter($book->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) {
$book->exchangeArray($form->getData());
$this->getBookTable()->saveBook($book);
//Send an email when a new book Was Added
$mail = new Mail\Message();
$mail->setBody('A new Book called ' . $book->title . ' has been added.');
$mail->setFrom('ahmedhamdy20@gmail.com', 'Zend course');
$mail->addTo('ahmedhamdy20@gmail.com', 'Ahmed Hamdy');
$mail->setSubject('A Book was Added');
$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
}
// redirect to list of books
return $this->redirect()->toRoute('book');
}
return new ViewModel(array('form' => $form));
}
示例13: sendAction
/**
* Send email to contacts, insert message into db, log operation
*/
public function sendAction()
{
$form = new ContactsForm();
$request = $this->getRequest();
if ($request->isPost()) {
$mainLayout = $this->initializeFrontendWebsite();
$em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
$inputFilter = new ContactsFormInputFilter();
$form->setInputFilter($inputFilter->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) {
$inputFilter->exchangeArray($form->getData());
$formData = $request->getPost();
$configurations = $this->layout()->getVariable('configurations');
$mail = new Mail\Message();
$mail->setFrom($configurations['emailnoreply'], $formData->nome . ' ' . $formData->cognome);
$mail->addTo($configurations['emailcontact'], $configurations['sitename']);
$mail->setSubject('Nuovo messaggio dal sito ' . $configurations['sitename']);
$mail->setBody("Nome e cognome: \n " . $formData->nome . " " . $formData->cognome . " Email: " . $formData->email . "\n Messaggio: " . $formData->messaggio);
$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
$helper = new ContactsControllerHelper();
$helper->setConnection($em->getConnection());
$helper->insert($inputFilter);
$this->layout()->setVariables(array('configuraitions' => $configurations, 'homepage' => !empty($homePageElements) ? $homePageElements : null, 'templatePartial' => 'contatti/ok.phtml'));
$this->layout()->setTemplate($mainLayout);
} else {
foreach ($form->getInputFilter()->getInvalidInput() as $invalidInput) {
var_dump($form->getMessages());
}
exit;
}
}
}
示例14: sendContactMail
/**
* Send contact mail
* @param $controller
* @param $data
*/
public static function sendContactMail($controller, $data)
{
// prepare html content
$comments = nl2br($data['comments']);
// line break
$content = '';
$content .= '<table>';
$content .= '<tbody>';
$content .= "<tr><td>First Name:</td><td>{$data['firstName']}</td></tr>";
$content .= "<tr><td>Last Name:</td><td>{$data['lastName']}</td></tr>";
$content .= "<tr><td>Phone Number:</td><td>{$data['phone']}</td></tr>";
$content .= "<tr><td>Email:</td><td>{$data['email']}</td></tr>";
$content .= "<tr><td>Company:</td><td>{$data['company']}</td></tr>";
$content .= "<tr><td>Job Title:</td><td>{$data['jobTitle']}</td></tr>";
$content .= "<tr><td>Comments:</td><td>{$comments}</td></tr>";
$content .= '</tbody>';
$content .= '</table>';
$html = new MimePart($content);
$html->type = "text/html";
$body = new MimeMessage();
$body->setParts(array($html));
$message = new Message();
$message->setBody($body);
// subject
$subject = 'Contact from Papertask';
$message->setSubject($subject);
// get transport
$transport = $controller->getServiceLocator()->get('mail.transport');
$message->addTo($transport->mailOptions['contact']);
$message->addFrom($transport->mailOptions['contact']);
$transport->send($message);
}
示例15: sendCertificate
/**
* Sends award certificate
*
* @param \User\Model\Entity\User $user
* @param array $exam
* @param \ZendPdf\Document $pdf
*/
public function sendCertificate($user, $exam, $pdf)
{
$translator = $this->services->get('translator');
$mail = new Message();
$mail->addTo($user->getEmail(), $user->getName());
$text = 'You are genius!
You answered all the questions correctly.
Therefore we are sending you as a gratitude this free award certificate.
';
// we create a new mime message
$mimeMessage = new MimeMessage();
// create the original body as part
$textPart = new MimePart($text);
$textPart->type = "text/plain";
// add the pdf document as a second part
$pdfPart = new MimePart($pdf->render());
$pdfPart->type = 'application/pdf';
$mimeMessage->setParts(array($textPart, $pdfPart));
$mail->setBody($mimeMessage);
$mail->setFrom('slavey@zend.com', 'Slavey Karadzhov');
$mail->setSubject($translator->translate('Congratulations: Here is your award certificate'));
$transport = $this->services->get('mail-transport');
$transport->send($mail);
}