J'ai une question sur le changement d'expéditeur par défaut De nom/email sur les notifications par défaut de wp_mail (par exemple, réponse à un mot de passe oublié), mais SANS gâcher les notifications transmises par Gravity Forms.
J'ai trouvé quelques discussions sur la modification du nom/adresse électronique par défaut, et c'est ce que j'ai finalement utilisé. Cela fonctionnait correctement pour changer l'expéditeur par défaut de "Wordpress" & "[email protected]".
// Change default WP email sender
add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');
function new_mail_from($old) {
return '[email protected]';
}
function new_mail_from_name($old) {
return 'Site Admin';
}
Mais il a également fini par modifier toutes les soumissions de formulaire transmises par Gravity Forms, car cela utilise simplement wp_mail pour traiter les soumissions de formulaire complétées. Les soumissions de Gravity Forms DEVRAIENT conserver le nom de l'expéditeur/l'email saisi par l'utilisateur lors de la rédaction du formulaire. Cette information est stockée dans l'en-tête et transmise à wp_mail pour l'envoi.
Je suis également ouvert à l'utilisation de l'envoi SMTP si cela peut aider et être plus sécurisé/robuste. Malheureusement, je ne parle pas couramment PHP pour pouvoir écrire la fonction moi-même.
Je pense avoir trouvé la réponse sur un autre forum en utilisant le formulaire de contact7, avec le même problème que je rencontrais.
C'est ce que j'ai tiré de ce fil et essayé. Cela semble fonctionner et ne semble cibler que les courriers électroniques provenant du nom/de la messagerie de l'expéditeur par défaut de 'Wordpress'.
// Change default WP email sender
add_filter('wp_mail_from', 'doEmailFilter');
add_filter('wp_mail_from_name', 'doEmailNameFilter');
function doEmailFilter($email_address){
if($email_address === "[email protected]")
return '[email protected]';
else
return $email_address;
}
function doEmailNameFilter($email_from){
if($email_from === "WordPress")
return 'Site Admin';
else
return $email_from;
}
Faites-moi savoir s'il existe un meilleur moyen de le faire. Désolé si évident ...
J'ai eu un problème connexe et codé un plugin il y a quelques semaines. WP-HTML Mail ne prend pas en charge les formulaires avec gravité, mais si vous décidez de changer de formulaire en formulaires Ninja, le plugin est parfait pour vous. J'ai ajouté des détecteurs pour les plugins pour savoir quel plugin vient d'envoyer le courrier. Les changements de formatage et d'expéditeur peuvent être activés/désactivés pour les plugins détectés.
J'ai un plugin SMTP qui va définir l'adresse et le nom de l'expéditeur par défaut, tout en permettant aux plugins (comme Gravity Forms) de remplacer ces valeurs.
https://wordpress.org/plugins/postman-smtp/
Cela dit, selon l'identité de vos comptes de messagerie, le fait de modifier l'adresse e-mail de l'expéditeur par une valeur différente de celle avec laquelle vous vous authentifiez peut vous aider à marquer votre e-mail en tant que spam. À savoir Gmail, Hotmail et Yahoo Mail.