Skip to content

Instantly share code, notes, and snippets.

Last active November 24, 2022 10:12
What would you like to do?
SMTP using wp-config.php for settings #smtp #wp_mail
<?php // Don't use this line.
* Add the script below to wherever you store custom code snippets
* in your site, whether that's your child theme's functions.php,
* a custom plugin file, or through a code snippet plugin.
* This function will connect wp_mail to your authenticated
* SMTP server. This improves reliability of wp_mail, and
* avoids many potential problems.
* For instructions on the use of this script, see:
* Values for constants are set in wp-config.php
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
<?php // Don't use this line.
* Set the following constants in wp-config.php
* These should be added somewhere BEFORE the
* constant ABSPATH is defined.
* Make sure you know from your email host what your specific connection
* parameters are. Common defaults are given below, but if they are not
* what your host requires, you won't be able to connect. Each constant
* is noted with a comment identifying what connection parameter it is,
* but make sure you're using the correct value - check with your
* email host to confirm specific requirements. (Also confirm that your
* host allows remote connections in the first place.)
* For instructions on the use of this script, see:
define( 'SMTP_USER', '' ); // Username to use for SMTP authentication
define( 'SMTP_PASS', 'smtp password' ); // Password to use for SMTP authentication
define( 'SMTP_HOST', '' ); // The hostname of the mail server
define( 'SMTP_FROM', '' ); // SMTP From email address
define( 'SMTP_NAME', 'e.g Website Name' ); // SMTP From name
define( 'SMTP_PORT', '25' ); // SMTP port number - likely to be 25, 465 or 587
define( 'SMTP_SECURE', 'tls' ); // Encryption system to use - ssl or tls
define( 'SMTP_AUTH', true ); // Use SMTP authentication (true|false)
define( 'SMTP_DEBUG', 0 ); // for debugging purposes only set to 1 or 2
Copy link

Works for me. Thank you.

Copy link

You can check email status (log) by

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment