Как установить альтернативное содержание (alternative content) в письмо с помощью PHPMailer?

Пользователь

от narciso , в категории: PHP , год назад

Как установить альтернативное содержание (alternative content) в письмо с помощью PHPMailer?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jose , год назад

@narciso 

Для установки альтернативного содержания (alternative content) в письмо с помощью библиотеки PHPMailer, вы можете использовать метод AltBody. Этот метод позволяет добавить альтернативный контент, который будет отображаться в случае, если почтовый клиент не поддерживает HTML формат.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// Установка отправителя и получателя письма
$mail->SetFrom('[email protected]', 'Your Name');
$mail->addAddress('[email protected]', 'Recipient Name');

// Установка темы письма
$mail->Subject = 'Test email with alternative content';

// Установка HTML формата письма
$mail->isHTML(true);
$mail->Body = 'This is the HTML content';

// Установка альтернативного контента для неподдерживающих HTML формат почтовых клиентов
$mail->AltBody = 'This is the alternative plain text content';

// Отправка письма
if ($mail->send()) {
    echo 'Email has been sent successfully!';
} else {
    echo 'Email could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}


В примере кода выше, AltBody устанавливает альтернативный контент в текстовом формате. Это содержимое будет отображаться, если почтовый клиент не поддерживает HTML формат.

Пользователь

от josie , год назад

@narciso 

Для установки альтернативного содержания (alternative content) в письмо с помощью PHPMailer вы можете использовать методы AltBody() и IsHTML().


Вот пример кода, показывающий, как это сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
require 'path/to/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isHTML(true); // Устанавливаем формат письма как HTML

$mail->Subject = 'Тема письма';
$mail->Body    = 'Это тело письма в HTML формате';

$mail->AltBody = 'Это альтернативное содержание в текстовом формате'; // Устанавливаем альтернативное содержание

$mail->send();


В приведенном выше примере, isHTML(true) устанавливает формат письма как HTML. Затем, в Body вы задаете HTML-версию содержания письма, а в AltBody вы задаете альтернативное содержание в текстовом формате. Если по какой-то причине HTML-содержание не может быть отображено, получатель увидит альтернативное содержание в текстовом формате.


Пожалуйста, обратите внимание, что вы должны иметь установленную библиотеку PHPMailer, чтобы использовать эти методы. Вы также должны настроить ваш SMTP-сервер и указать правильные учетные данные для отправки письма.