Jak zmienić adres e-mail z powiadomieniem z WordPress @ mydomain.net na coś innego.
Chcę to zrobić, ponieważ WordPress @ mydomain.net kończy się oznaczeniem jako śmieci.
Dzięki
Daniel
Jak zmienić adres e-mail z powiadomieniem z WordPress @ mydomain.net na coś innego.
Chcę to zrobić, ponieważ WordPress @ mydomain.net kończy się oznaczeniem jako śmieci.
Dzięki
Daniel
Odpowiedzi:
Używam bardzo podobnego podejścia, takiego jak John P Bloch i Bainternet, trochę bardziej elastycznego, więc nie muszę zmieniać adresu pocztowego dla żadnego klienta:
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: Filter System From Mail
* Description: Sets the WP from mail address to the first admin’s mail and the from name to blog name.
* Version: 2012.08.30
* Author: Fuxia Scholz
* Author URI: https://fuxia.me
* License: MIT
*/
if ( ! function_exists( 't5_filter_system_from_mail' ) )
{
/**
* First admin's e-mail address or blog name depending on current filter.
*
* See wp-includes/pluggable.php::wp_mail()
*
* @param $input Name or email address
* @return string
*/
function t5_filter_system_from_mail( $input )
{
// not the default address, probably a comment notification.
if ( 0 !== stripos( $input, 'wordpress' ) )
return $input; // Not auto-generated
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' );
}
t5_
to twój osobisty prefiks wtyczki? Czy to ma jakieś znaczenie?
t5_
był wtedy moim osobistym prefiksem. :)
Jest świetna wtyczka, która robi to za Ciebie, o nazwie Send From . Jeśli jednak chcesz sam to rzucić, jest to bardzo proste. Aby zmienić adres e-mail, dodaj filtr 'wp_mail_from'
:
function just_use_my_email(){
return 'my.email@domain.com';
}
add_filter( 'wp_mail_from', 'just_use_my_email' );
Możesz także zmienić nazwę nadawcy, używając takiego 'wp_mail_from_name'
filtru (jest to całkowicie opcjonalne):
function just_use_my_email_name(){
return 'My Real Name';
}
add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );
Po prostu zamień fałszywe wartości na swój prawdziwy adres e-mail i gotowe.
tutaj:
//email from name function
function my_wp_mail_from_name($name) {
return 'Name';
}
//email from email function
function my_wp_mail_from($content_type) {
return 'email@Domain.com';
}
add_filter('wp_mail_from','my_wp_mail_from');
add_filter('wp_mail_from_name','my_wp_mail_from_name');
Zmień Nazwę na żądaną nazwę i email@Domain.com na pożądany adres e-mail. ale jeśli zmienisz adres e-mail, większość filtrów antyspanowych zablokuje lub spamuje Twoją pocztę w celu sfałszowania.
Istniejące odpowiedzi są lepszym sposobem na zrobienie tego, jednak istnieje alternatywa, o której chciałbym wspomnieć.
add_action('phpmailer_init','modify_phpmailer');
function modify_phpmailer($phpmailer) {
$phpmailer->From = "Full Name";
$phpmailer->FromName = "from@address.com";
$phpmailer->AddReplyTo("replyto@address.com");
}
Dzieje się tak po filtrach * wp_mail_from * i * wp_mail_from_name *. Dzięki temu możesz wymusić zmianę i uniemożliwić modyfikowanie jej przez inne wtyczki. Możesz także pracować bezpośrednio z obiektem phpmailer i wykonywać takie czynności, jak dodawanie odpowiedzi na adres (pokazany powyżej)