The phpmailer_init WordPress action fires after PHPMailer is initialized, allowing you to modify its settings.
Usage
add_action('phpmailer_init', 'your_custom_function');
function your_custom_function($phpmailer) {
// Your custom code here
return $phpmailer;
}
Parameters
$phpmailer(PHPMailer) – The PHPMailer instance, passed by reference.
More information
See WordPress Developer Resources: phpmailer_init
Examples
Set the default sender name and email address
Change the default sender name and email address for all outgoing emails.
add_action('phpmailer_init', 'set_default_sender');
function set_default_sender($phpmailer) {
$phpmailer->setFrom('[email protected]', 'Example Site');
}
Use SMTP for email delivery
Configure PHPMailer to use SMTP for email delivery.
add_action('phpmailer_init', 'use_smtp_for_email_delivery');
function use_smtp_for_email_delivery($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.example.com';
$phpmailer->Port = 587;
$phpmailer->SMTPAuth = true;
$phpmailer->Username = 'your_username';
$phpmailer->Password = 'your_password';
}
Enable HTML content in emails
Enable HTML content for outgoing emails.
add_action('phpmailer_init', 'enable_html_content_in_emails');
function enable_html_content_in_emails($phpmailer) {
$phpmailer->isHTML(true);
}
Add a custom header to emails
Add a custom header to all outgoing emails.
add_action('phpmailer_init', 'add_custom_email_header');
function add_custom_email_header($phpmailer) {
$phpmailer->addCustomHeader('X-Custom-Header', 'your-custom-value');
}
Change email charset
Change the charset used for outgoing emails.
add_action('phpmailer_init', 'change_email_charset');
function change_email_charset($phpmailer) {
$phpmailer->CharSet = 'UTF-8';
}