Инструменты пользователя

Инструменты сайта


yii:yii2:swiftmailer

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
yii:yii2:swiftmailer [2021/07/28 16:27]
werwolf [Настройка To:получателей]
yii:yii2:swiftmailer [2023/01/12 12:18] (текущий)
Строка 1: Строка 1:
-====== ​Создание сообщений ​======+====== ​SwiftMailer ​======
  
 Создание сообщений в Swift Mailer выполняется с помощью различных объектов MIME, предоставляемых библиотекой. Сложные сообщения могут быть быстро созданы с очень небольшими усилиями. Создание сообщений в Swift Mailer выполняется с помощью различных объектов MIME, предоставляемых библиотекой. Сложные сообщения могут быть быстро созданы с очень небольшими усилиями.
Строка 483: Строка 483:
 </​code>​ </​code>​
  
-Примечание +<​note>​
 Многократные вызовы ''​setCc()''​не добавят новых получателей-каждый вызов переопределяет предыдущие вызовы. Если вы хотите итеративно добавить Cc: recipients, используйте этот ''​addCc()''​метод:​ Многократные вызовы ''​setCc()''​не добавят новых получателей-каждый вызов переопределяет предыдущие вызовы. Если вы хотите итеративно добавить Cc: recipients, используйте этот ''​addCc()''​метод:​
 +</​note>​
  
 <code php> <code php>
Строка 515: Строка 515:
 </​code>​ </​code>​
  
-Примечание +<​note>​
 Многократные вызовы ''​setBcc()''​не добавят новых получателей-каждый вызов переопределяет предыдущие вызовы. Если вы хотите итеративно добавить Bcc: recipients, используйте этот ''​addBcc()''​метод:​ Многократные вызовы ''​setBcc()''​не добавят новых получателей-каждый вызов переопределяет предыдущие вызовы. Если вы хотите итеративно добавить Bcc: recipients, используйте этот ''​addBcc()''​метод:​
 +</​note>​
  
 <code php> <code php>
Строка 526: Строка 525:
 </​code>​ </​code>​
  
 +
 +<note important>​
 Интернационализированные Адреса Электронной Почты Интернационализированные Адреса Электронной Почты
  
Строка 531: Строка 532:
  
 RFC 6531 ввел расширение SMTP, SMTPUTF8, которое позволяет использовать символы,​ отличные от ASCII, в адресах электронной почты с обеих сторон знака@. Для отправки на такие адреса ваш исходящий SMTP-сервер должен поддерживать расширение SMTPUTF8. Вы должны использовать кодировщик ''​Swift_AddressEncoder_Utf8AddressEncoder''​адресов и включить обработчик ''​Swift_Transport_Esmtp_SmtpUtf8Handler''​расширений SMTP: RFC 6531 ввел расширение SMTP, SMTPUTF8, которое позволяет использовать символы,​ отличные от ASCII, в адресах электронной почты с обеих сторон знака@. Для отправки на такие адреса ваш исходящий SMTP-сервер должен поддерживать расширение SMTPUTF8. Вы должны использовать кодировщик ''​Swift_AddressEncoder_Utf8AddressEncoder''​адресов и включить обработчик ''​Swift_Transport_Esmtp_SmtpUtf8Handler''​расширений SMTP:
 +</​note>​
 <code php> <code php>
 $smtpUtf8 = new Swift_Transport_Esmtp_SmtpUtf8Handler();​ $smtpUtf8 = new Swift_Transport_Esmtp_SmtpUtf8Handler();​
Строка 561: Строка 562:
 ''​From:''​Адреса видны в заголовках сообщений и будут видны получателям. ''​From:''​Адреса видны в заголовках сообщений и будут видны получателям.
  
-Примечание +<​note>​
 Если вы установили несколько ''​From:''​адресов,​ то вы абсолютно должны установить ''​Sender:''​адрес,​ чтобы указать,​ кто физически отправил сообщение. Если вы установили несколько ''​From:''​адресов,​ то вы абсолютно должны установить ''​Sender:''​адрес,​ чтобы указать,​ кто физически отправил сообщение.
 +</​note>​
  
 <code php> <code php>
Строка 588: Строка 588:
 Этот адрес будет использоваться,​ ''​Return-Path:''​если не указано иное. Этот адрес будет использоваться,​ ''​Return-Path:''​если не указано иное.
  
-Примечание +<​note>​
 Если вы установили несколько ''​From:''​адресов,​ то вы абсолютно должны установить ''​Sender:''​адрес,​ чтобы указать,​ кто физически отправил сообщение. Если вы установили несколько ''​From:''​адресов,​ то вы абсолютно должны установить ''​Sender:''​адрес,​ чтобы указать,​ кто физически отправил сообщение.
 +</​note>​
  
 Вы не должны устанавливать более одного адреса отправителя на сообщение,​ потому что это не возможно для более чем одного человека,​ чтобы отправить одно сообщение:​ Вы не должны устанавливать более одного адреса отправителя на сообщение,​ потому что это не возможно для более чем одного человека,​ чтобы отправить одно сообщение:​
Строка 702: Строка 702:
 При открытии письма,​ если почтовый клиент его поддерживает , на этот адрес будет отправлено уведомление. При открытии письма,​ если почтовый клиент его поддерживает , на этот адрес будет отправлено уведомление.
  
-Примечание +<note tip>
 Чтение квитанций не будет работать для большинства получателей,​ так как многие почтовые клиенты автоматически отключают их. Те клиенты,​ которые отправят квитанцию на чтение,​ сообщат пользователю,​ что она была запрошена. Чтение квитанций не будет работать для большинства получателей,​ так как многие почтовые клиенты автоматически отключают их. Те клиенты,​ которые отправят квитанцию на чтение,​ сообщат пользователю,​ что она была запрошена.
 +</​note>​
 ===== Настройка набора символов ===== ===== Настройка набора символов =====
  
Строка 764: Строка 763:
 Строки,​ длина которых превышает указанную длину строки,​ будут заключены между словами. Строки,​ длина которых превышает указанную длину строки,​ будут заключены между словами.
  
-Примечание 
  
 +<note important>​
 Вы никогда не должны устанавливать максимальную длину более 1000 символов в соответствии с RFC 2822. Это может привести к неопределенным побочным эффектам,​ таким как усечение частей вашего сообщения при его передаче между SMTP-серверами. Вы никогда не должны устанавливать максимальную длину более 1000 символов в соответствии с RFC 2822. Это может привести к неопределенным побочным эффектам,​ таким как усечение частей вашего сообщения при его передаче между SMTP-серверами.
 +</​note>​
 ===== Установка приоритета сообщения ===== ===== Установка приоритета сообщения =====
  
Строка 789: Строка 788:
 // Or use the constant to be more explicit // Or use the constant to be more explicit
 $message->​setPriority(Swift_Mime_SimpleMessage::​PRIORITY_HIGH);​ $message->​setPriority(Swift_Mime_SimpleMessage::​PRIORITY_HIGH);​
 +</​code>​
 +
 +====передать переменную в шаблон====
 +
 +<code php>
 +Yii::​$app->​mail
 +    ->​compose(['​html'​ => '​layouts/​html2'​],​ ['​content'​ => $content])
 +    ->​setFrom(['​noreply@mailer.com'​ => '​Mailer'​])
 +</​code>​
 +
 +<code html>
 +<​body>​
 +    <?php $this->​beginBody() ?>
 +    <?= $content ?>
 +    <?php $this->​endBody() ?>
 +</​body>​
 </​code>​ </​code>​
yii/yii2/swiftmailer.1627478871.txt.gz · Последние изменения: 2023/01/12 12:16 (внешнее изменение)