зміна електронних повідомлень з WordPress <wordpress> @ mydomain.net на щось інше


15

Як змінити адресу електронних повідомлень з WordPress @ mydomain.net на щось інше.

Я хочу це зробити, тому що WordPress @ mydomain.net в кінцевому підсумку отримує маркування як небажану пошту.

Спасибі

Даніель


1
Чому б не додати адресу до списку безпечних відправників? то він не закінчиться у небажаній пошті.
t31os

1
Це могло б працювати для мене, але не для моїх користувачів.

Це досить справедливо, не було зрозуміло, що ви не тільки зверталися до себе у вступному питанні.
t31os

Відповіді:


23

Я використовую дуже подібний підхід, як Джон 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' );
}

6
Дуже елегантне рішення. Приємно!
Джон П Блох

@fuxia Я початківець Wordpress. Куди йде цей код? Це звичайний новий плагін? Якщо це так, як це встановити? І t5_це ваш персональний префікс плагіна? Або це якось має значення?
Лоренц Мейєр

@LorenzMeyer Так, окремий файл PHP, збережений у каталозі плагінів вашої установки. Там ви можете його активувати. t5_тоді був моїм особистим префіксом. :)
fuxia

9

Є чудовий плагін, який робить це для вас під назвою 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' );

Просто поміняйте підроблені значення на справжню адресу електронної пошти, і ви готові йти.


4

тут:

    //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');

Змініть ім'я на ім’я, яке ви хочете, та email@Domain.com на електронну адресу, яку ви хочете. але якщо ви зміните адресу електронної пошти, більшість фільтрів із запобіжним спаном заблокує або спам вашої пошти для підробки.


Я використовував форму відправки, і вона працює як рекламується. Я також створив електронну адресу cas@mydomain.net та налаштував форму відправки, щоб використовувати її для автоматизованих сповіщень про сайт. Тестовий лист, який я надіслав своєму тестовому обліковому запису користувача, не позначений фільтром спаму. Успіху! Тепер я маю тестувати зі своїми користувачами. Спасибі!

4

Існуючі відповіді - це кращий спосіб зробити це, однак є альтернатива, яку я хотів би зазначити.

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 і робити такі дії, як додавання відповіді до адреси (показано вище)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.