답변:
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');
이름을 원하는 이름으로 변경하고 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 객체로 직접 작업하고 주소에 회신 추가 (위 그림 참조)와 같은 작업을 수행 할 수도 있습니다.