The question:
I want to set the SMTP settings manually instead of using a plugin. I did this using this resource. However, there is a problem.
If the user clicks “Reply”, a different e-mail appears. Probably I’ve described this before with the plugin. However, I cannot remove it. If I make a new definition as below, it creates a new reply e-mail. Therefore, the past is not erased.
What I want: If the user clicks to reply to the incoming e-mail, only smtp_from e-mail should appear.
My Codes:
wp-config.php
define ('SMTP_FROM', '[email protected]');
...
function.php
add_action ('phpmailer_init', 'my_phpmailer_example');
function my_phpmailer_example ($phpmailer) {
$phpmailer-> From = SMTP_FROM;
//My new definition.
$phpmailer->addReplyTo('[email protected] ',' Information ');
...
}
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
Depending on your setup and other specifics to your use case, you may want to clear any previous reply addresses. You can do this with $phpMailer->ClearReplyTos()
. For example:
add_action ('phpmailer_init', 'my_phpmailer_example');
function my_phpmailer_example ($phpmailer) {
$phpmailer->ClearReplyTos();
$phpmailer->addReplyTo('[email protected]', 'EXAMPLE');
}
Also, if your example code in your question is exactly what you’re using, you need to be careful of a few things:
- Make sure your variables are right. For example, the argument in your function is
$ phpmailer
<-note the space If you have it like that, that could be the source of your problem. Fix the space (i.e.$phpmailer
) - The line for your
$phpmailer->AddReplyTo()
is commented out. Is that intentional? With the comment (“//”), that line will not doing anything.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0