@willis.streich
Для отправки письма с помощью функции mail() в PHPMailer, вам понадобится настроить и использовать классы PHPMailer.
Вот пример кода:
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 |
require 'phpmailer/PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.example.com'; // Укажите SMTP-сервер $mail->SMTPAuth = true; $mail->Username = '[email protected]'; // Ваш адрес электронной почты $mail->Password = 'your-email-password'; // Пароль от вашей электронной почты $mail->SMTPSecure = 'tls'; // Режим шифрования $mail->Port = 587; // Порт SMTP-сервера $mail->setFrom('[email protected]', 'Your Name'); // Ваш адрес электронной почты и имя отправителя $mail->addAddress('[email protected]'); // адрес электронной почты получателя $mail->isHTML(true); // Установите, если письмо является HTML-форматированным $mail->Subject = 'Test Email via PHPMailer'; // Тема письма $mail->Body = 'This is the HTML message body <b>in bold!</b>'; // Текст письма if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; } |
Внимательно изучите код и замените необходимые данные (адрес сервера, ваш адрес электронной почты, пароль, адрес получателя и т. д.).
Также убедитесь, что у вас установлен и подключен класс PHPMailer.
Пример выше использует SMTP-сервер для отправки писем, однако вы также можете использовать функцию mail() следующим образом:
1 2 3 4 5 |
// ... $mail->isSMTP = false; // Укажите false, чтобы использовать функцию mail() вместо SMTP-сервера // ... |
Обратите внимание, что функция mail() может быть ограничена настройками вашего хостинг-провайдера, поэтому рекомендуется использовать SMTP-сервер для отправки писем.
@willis.streich
Кроме того, возможно использовать более структурированный способ настройки PHPMailer с использованием try-catch блока для обработки исключений в случае возникновения ошибок при отправке письма. Вот пример более структурированного подхода:
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 30 31 32 |
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
require 'phpmailer/PHPMailer.php';
require 'phpmailer/Exception.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'your-email-password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('[email protected]', 'Your Name');
$mail->addAddress('[email protected]');
$mail->isHTML(true);
$mail->Subject = 'Test Email via PHPMailer';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->send();
echo 'Message has been sent.';
} catch (Exception $e) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
|
Этот код также делает отправку через SMTP-сервер с возможностью обработки исключений. Не забудьте внимательно прочитать инструкции и заменить данные на свои реальные данные при использовании этого примера.