thay đổi email thông báo từ WordPress <wordpress> @ mydomain.net sang một thứ khác


15

Làm cách nào để thay đổi địa chỉ email thông báo từ WordPress @ mydomain.net sang một thứ khác.

Tôi muốn làm điều này bởi vì WordPress @ mydomain.net cuối cùng bị gắn cờ là thư rác.

Cảm ơn

Daniel


1
Tại sao không thêm địa chỉ vào danh sách người gửi an toàn của bạn? sau đó nó sẽ không kết thúc trong thư rác.
t31os

1
Điều đó sẽ làm việc cho tôi nhưng không phải người dùng của tôi.

Điều đó đủ công bằng, không rõ ràng rằng bạn không chỉ đề cập đến chính mình trong câu hỏi mở đầu.
t31os

Câu trả lời:


23

Tôi sử dụng một cách tiếp cận rất giống như John P Bloch và BaiNET, chỉ linh hoạt hơn một chút, vì vậy tôi không phải thay đổi địa chỉ thư cho bất kỳ khách hàng nào:

<?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
Giải pháp rất thanh lịch. Đẹp!
John P Bloch

@fuxia Tôi là người mới Wordpress. Mã này đi đâu? Đây có phải là một plugin mới đơn giản? Nếu có, làm thế nào để tôi cài đặt nó? Và t5_đây có phải là tiền tố plugin cá nhân của bạn? Hay nó quan trọng bằng cách nào đó?
Lorenz Meyer

@LorenzMeyer Có, một tệp PHP riêng biệt, được lưu trong thư mục plugin của bản cài đặt của bạn. Ở đó bạn có thể kích hoạt nó. t5_là tiền tố cá nhân của tôi hồi đó. :)
fuxia

9

Có một plugin tuyệt vời thực hiện điều này cho bạn có tên là Send From . Tuy nhiên, nếu bạn muốn tự làm điều này, nó thật đơn giản. Để thay đổi địa chỉ email, hãy thêm một bộ lọc 'wp_mail_from'như sau:

function just_use_my_email(){
  return 'my.email@domain.com';
}

add_filter( 'wp_mail_from', 'just_use_my_email' );

Và bạn cũng có thể thay đổi tên người gửi bằng 'wp_mail_from_name'bộ lọc như vậy (điều này là hoàn toàn tùy chọn):

function just_use_my_email_name(){
  return 'My Real Name';
}

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

Chỉ cần trao đổi các giá trị giả cho địa chỉ email thực của bạn và bạn sẽ ổn.


4

đây:

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

Thay đổi tên thành tên bạn muốn và email@Domain.com thành địa chỉ email bạn muốn. nhưng nếu bạn thay đổi địa chỉ email, hầu hết bộ lọc chống nhịp sẽ chặn hoặc spam thư của bạn để giả mạo.


Tôi đã sử dụng Send Form và nó hoạt động như quảng cáo. Tôi cũng đã tạo một địa chỉ email cas@mydomain.net và định cấu hình Gửi biểu mẫu để sử dụng nó cho các thông báo trang web tự động. Email kiểm tra mà tôi đã gửi đến tài khoản người dùng thử nghiệm của mình không bị đánh dấu bởi bộ lọc thư rác. Sự thành công! Bây giờ tôi phải kiểm tra với người dùng của tôi. Cảm ơn!

4

Các câu trả lời hiện có là một cách tốt hơn để làm điều này, tuy nhiên có một cách khác tôi muốn đề cập.

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

    $phpmailer->From = "Full Name";
    $phpmailer->FromName = "from@address.com";

    $phpmailer->AddReplyTo("replyto@address.com");
}

Điều này xảy ra sau các bộ lọc * wp_mail_from * và * wp_mail_from_name *. Vì vậy, với điều này, bạn có thể buộc thay đổi và ngăn các plugin khác sửa đổi nó. Bạn cũng có thể làm việc trực tiếp với đối tượng phpmailer và thực hiện những việc như thêm trả lời vào địa chỉ (hiển thị ở trên)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.