schimbarea adresei de email pentru notificări din WordPress <wordpress>@mydomain.net în altceva
Cum pot schimba adresa de email pentru notificări din WordPress @mydomain.net în altceva?
Vreau să fac asta pentru că email-urile de la WordPress @mydomain.net sunt adesea marcate ca spam.
Mulțumesc,
Daniel

Folosesc o abordare foarte similară cu cea a lui John P Bloch și Bainternet, doar puțin mai flexibilă, astfel încât nu trebuie să schimb adresa de e-mail pentru fiecare client:
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: Filtrare Sistem De la E-mail
* Description: Setează adresa de e-mail "De la" din WP la adresa primului administrator și numele "De la" la numele blogului.
* Version: 2012.08.30
* Author: Fuxia Scholz
* Author URI: https://fuxia.me
* License: MIT
*/
if ( ! function_exists( 't5_filter_system_from_mail' ) )
{
/**
* Adresa de e-mail a primului administrator sau numele blogului, în funcție de filtrul curent.
*
* Vezi wp-includes/pluggable.php::wp_mail()
*
* @param $input Nume sau adresă de e-mail
* @return string
*/
function t5_filter_system_from_mail( $input )
{
// nu este adresa implicită, probabil o notificare de comentariu.
if ( 0 !== stripos( $input, 'wordpress' ) )
return $input; // Nu este generat automat
return get_option( 'wp_mail_from' === current_filter()
? 'admin_email' : 'blogname' );
}
add_filter( 'wp_mail_from', 't5_filter_system_from_mail' );
add_filter( 'wp_mail_from_name', 't5_filter_system_from_mail' );
}

@fuxia Sunt începător în WordPress. Unde ar trebui pus acest cod? Este un simplu plugin nou? Dacă da, cum îl instalez? Și t5_
este prefixul tău personal pentru plugin? Sau are vreo importanță?

Există un plugin excelent care face asta pentru tine numit Send From. Totuși, dacă vrei să implementezi această funcționalitate singur, este extrem de simplu. Pentru a schimba adresa de email, adaugă un filtru pe 'wp_mail_from'
astfel:
function just_use_my_email(){
return 'my.email@domain.com';
}
add_filter( 'wp_mail_from', 'just_use_my_email' );
De asemenea, poți schimba numele expeditorului folosind filtrul 'wp_mail_from_name'
astfel (acest pas este complet optional):
function just_use_my_email_name(){
return 'My Real Name';
}
add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );
Doar înlocuiește valorile false cu adresa ta reală de email și ești gata de start.

aici:
//funcție pentru numele expeditorului email
function my_wp_mail_from_name($name) {
return 'Nume';
}
//funcție pentru adresa de email a expeditorului
function my_wp_mail_from($content_type) {
return 'email@Domeniu.com';
}
add_filter('wp_mail_from','my_wp_mail_from');
add_filter('wp_mail_from_name','my_wp_mail_from_name');
Schimbați 'Nume' cu numele dorit și 'email@Domeniu.com' cu adresa de email dorită. Dar dacă schimbați adresa de email, majoritatea filtrelor anti-spam vor bloca sau vor marca emailul ca spam pentru falsificare.

Am folosit Send Form și funcționează exact cum este descris. De asemenea, am creat o adresă de email cas@mydomain.net și am configurat Send Form să o folosească pentru notificările automate ale site-ului. Email-ul de test pe care l-am trimis către contul meu de utilizator test nu a fost marcat ca spam de filtrul de spam. Succes! Acum trebuie să testez cu utilizatorii mei. Mulțumesc!

Răspunsurile existente sunt o metodă mai bună de a face acest lucru, totuși există o alternativă pe care aș dori să o menționez.
add_action('phpmailer_init','modify_phpmailer');
function modify_phpmailer($phpmailer) {
$phpmailer->From = "Nume complet";
$phpmailer->FromName = "de_la@adresa.com";
$phpmailer->AddReplyTo("raspunde@adresa.com");
}
Acest lucru se întâmplă după filtrele *wp_mail_from* și *wp_mail_from_name*. Prin urmare, cu această metodă poți forța o modificare și poți preveni alte plugin-uri să o schimbe. De asemenea, poți lucra direct cu obiectul phpmailer și poți face lucruri precum adăugarea unei adrese de răspuns (ca în exemplul de mai sus).
