schimbarea adresei de email pentru notificări din WordPress <wordpress>@mydomain.net în altceva

18 mar. 2011, 14:21:07
Vizualizări: 16.9K
Voturi: 15

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

3
Comentarii

De ce nu adaugi adresa în lista expeditorilor de încredere? Atunci nu va ajunge în dosarul spam.

t31os t31os
18 mar. 2011 14:31:04

Asta ar funcționa pentru mine, dar nu și pentru utilizatorii mei.

User User
19 mar. 2011 04:54:51

E corect, nu era clar că nu te refereai doar la tine în întrebarea inițială.

t31os t31os
19 mar. 2011 11:13:13
Toate răspunsurile la întrebare 4
3
23

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' );
}
18 mar. 2011 17:17:11
Comentarii

Soluție foarte elegantă. Frumos!

John P Bloch John P Bloch
21 mar. 2011 19:51:35

@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ță?

Lorenz Meyer Lorenz Meyer
17 dec. 2018 09:51:09

@LorenzMeyer Da, un fișier PHP separat, salvat în directorul de plugin-uri al instalării tale. Acolo îl poți activa. t5_ a fost prefixul meu personal pe atunci. :)

fuxia fuxia
17 dec. 2018 12:53:42
0

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.

18 mar. 2011 16:48:14
1

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.

18 mar. 2011 16:48:24
Comentarii

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!

User User
19 mar. 2011 04:52:34
0

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).

10 oct. 2013 03:03:25