답변:
안녕하세요 @helenyhou :
매개 변수가 아닌 헤더를 설정할 수 있습니다. 워드 프레스는 "후크" 와 필요한 후크 'wp_mail_from'
와 'wp_mail_from_name'
후크를 사용합니다.
이메일 주소를 사용할 때 테마 functions.php
파일에 추가 하여 "From:"
헤더 를 수정 하는 후크는 다음과 같습니다 .wp_mail()
Helen Hou-Sandi <helenyhou@example.com>
add_filter('wp_mail_from','yoursite_wp_mail_from');
function yoursite_wp_mail_from($content_type) {
return 'helenyhou@example.com';
}
add_filter('wp_mail_from_name','yoursite_wp_mail_from_name');
function yoursite_wp_mail_from_name($name) {
return 'Helen Hou-Sandi';
}
wp_mail()
한 다음 바로 제거해야합니다. 헤더를 설정하는 이유는 다른 유스 케이스가 무엇인지 모르지만 wp_mail()
그렇게 작동 하면 놀랍습니다 .
오래된 질문을 되살려 서 죄송하지만 다음과 같이 헤더를 통해 설정하는 것이 좋지 않습니다.
$subject = "MyPlugin: Alert (".get_bloginfo('wpurl').")";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=".get_bloginfo('charset')."" . "\r\n";
$headers .= "From: MyPlugin <".$this->settings['from_address'].">" . "\r\n";
wp_mail($this->settings['notify_address'], $subject, $alertMessage, $headers);
그렇게하면 필터를 사용하고 wp_mail () 이후에 제거하는 것에 대해 걱정할 필요가 없습니다.
site_url()
대신 사용해야 합니다get_bloginfo('wpurl')
get_bloginfo('wpurl')
: 이것은 site_url()
이미 반환 됩니다. get_bloginfo('home')
그리고 get_bloginfo('siteurl')
사용되지 않습니다. developer.wordpress.org/reference/functions/get_bloginfo
약간의 해킹이지만 Reply To
헤더 태그를 사용할 수도 있습니다 .
$headers = 'Reply-To: "Aaren A. Aarenson" <aaron@somemail.com>';
안타깝게도 이렇게 하면 전자 메일 주소가 보낸 사람 목록에 추가 되므로 회신하면 wp_mail_from
필터에 구성된 주소를 수동으로 제거해야합니다 .
나는 같은 문제가 있었다. 나를 위해 호스팅 공급자 (BlueHost)가 보낸 사람 필드를 변경하지 못하고 있다고 나왔습니다. 여기에 https://my.bluehost.com/cgi/help/206이 있습니다.
이메일을 cPanel 편지함에 추가하는 것처럼 문제를 해결했습니다.