Как изменить адрес электронной почты для уведомлений с WordPress @ mydomain.net на что-то другое.
Я хочу сделать это, потому что WordPress @ mydomain.net в конечном итоге помечается как нежелательная почта.
Благодарность
Даниил
Как изменить адрес электронной почты для уведомлений с WordPress @ mydomain.net на что-то другое.
Я хочу сделать это, потому что WordPress @ mydomain.net в конечном итоге помечается как нежелательная почта.
Благодарность
Даниил
Ответы:
Я использую очень похожий подход, такой как John P Bloch и Bainternet, но немного более гибкий, поэтому мне не нужно менять почтовый адрес для любого клиента:
<?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_
это ваш личный префикс плагина? Или это как-то важно?
t5_
был мой личный префикс тогда. :)
Есть отличный плагин, который делает это для вас, называется Send From . Однако, если вы хотите сделать это самостоятельно, это очень просто. Чтобы изменить адрес электронной почты, добавьте фильтр 'wp_mail_from'
следующим образом:
function just_use_my_email(){
return 'my.email@domain.com';
}
add_filter( 'wp_mail_from', 'just_use_my_email' );
И вы также можете изменить имя отправителя, используя 'wp_mail_from_name'
фильтр следующим образом (это совершенно необязательно):
function just_use_my_email_name(){
return 'My Real Name';
}
add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );
Просто поменяйте фальшивые значения на свой реальный адрес электронной почты, и все готово.
Вот:
//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');
Измените Name на нужное имя, а email@Domain.com на желаемый адрес электронной почты. но если вы измените адрес электронной почты, большинство анти-спан-фильтров будет блокировать или спамить вашу почту для подмены.
Существующие ответы - лучший способ сделать это, однако есть альтернатива, которую я хотел бы упомянуть.
add_action('phpmailer_init','modify_phpmailer');
function modify_phpmailer($phpmailer) {
$phpmailer->From = "Full Name";
$phpmailer->FromName = "from@address.com";
$phpmailer->AddReplyTo("replyto@address.com");
}
Это происходит после фильтров * wp_mail_from * и * wp_mail_from_name *. Таким образом, вы можете принудительно изменить изменение и запретить его изменение другими плагинами. Вы также можете напрямую работать с объектом phpmailer и выполнять такие действия, как добавление ответа на адрес (показано выше).