phpmailer_init хук-подіяWP 2.2.0

Спрацьовує після ініціалізації PHPMailer .

Функція PHPMailer{} для надсилання пошти через PHP функцію mail() . Цей хук дозволяє підключатися до об’єкта PHPMailer і змінити параметри його роботи.

Використання

add_action( 'phpmailer_init', 'wp_kama_phpmailer_init_action');

/**
 * Function for `phpmailer_init` action-hook.
 *
 * @param PHPMailer $phpmailer The PHPMailer instance (passed by reference).
 *
 * @return void
 */
function wp_kama_phpmailer_init_action( $phpmailer ){

	// action...
}
$phpmailer
(PHPMailer)
Примірник
PHPMailer{} (передається за посиланням).

Приклади

0

#1 Загальний приклад встановлення свого SMTP-з’єднання

add_action( 'phpmailer_init', 'my_phpmailer_example');
function my_phpmailer_example( $phpmailer ) {

	$phpmailer->isSMTP();     
	$phpmailer->Host = 'smtp.example.com';
	$phpmailer->SMTPAuth = true; // Force it to use Username and Password to authenticate
	$phpmailer->Port = 25;
	$phpmailer->Username = 'yourusername';
	$phpmailer->Password = 'yourpassword';

	// Additional settings…
	//$phpmailer->SMTPSecure = "tls"; // Choose SSL або TLS, якщо не потрібно для вашого сервера
	//$phpmailer->From="[email protected]";
	//$phpmailer->FromName = "Your Name";
}

Логування помилок:

add_action('wp_mail_failed', 'log_mailer_errors', 10, 1);
function log_mailer_errors( $wp_error ){

	// виведемо помилку в .log файл
	error_log( $wp_error->get_error_message() );
}
0

#2 Приклад налаштування сервера SMTP від ​​Yandex

// Налаштування SMTP
add_action( 'phpmailer_init', 'smtp_phpmailer_init');
function smtp_phpmailer_init( $phpmailer ){

	$phpmailer->IsSMTP();

	$phpmailer->CharSet = 'UTF-8';

	$phpmailer->Host = 'smtp.yandex.ru';
	$phpmailer->Username = '[email protected]';
	$phpmailer->Password = '6AAAuuSSS2k';
	$phpmailer->SMTPAuth = true;
	$phpmailer->SMTPSecure = 'ssl';

	$phpmailer->Port = 465;
	$phpmailer->From = '[email protected]';
	$phpmailer->FromName = 'MY-Megasite';

	$phpmailer->isHTML( true );
}
0

#3 Приклад налаштування сервера SMTP для office 365

Щоб скористатися цим кодом, потрібно бути зареєстрованим у office365.

add_action( 'phpmailer_init', 'smtp_enable_for_office365');

function smtp_enable_for_office365( $phpmailer ) {
	$phpmailer->isSMTP(); // Вказуємо, що це SMTP
	$phpmailer->SMTPAuth = true; // Вказуємо, що це SMTP із авторизацією
	$phpmailer->Host = 'smtp.office365.com'; // URL, змінювати за потребою
	$phpmailer->Port = '587'; // Порт, змінювати за потребою
	$phpmailer->Username = '[email protected]'; // Логін до office365, вказати свій
	$phpmailer->Password = 'pass12345'; // Пароль у office365, вказати свій
	$phpmailer->SMTPSecure = 'tls'; // Вказуємо, що це SMTP у режимі tls
	$phpmailer->From = '[email protected]'; // Від кого вказати свій email
	$phpmailer->FromName = 'Мій супер сайт'; // Назва сайту, вказати своє
}

список змін

З версії 2.2.0Введено.

Де викликається хук

Де використовується хук у WordPress

wp-includes/ms-default-filters.php 108

add_action( 'phpmailer_init', 'fix_phpmailer_messageid');

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *