$subject = get_the_title();
$sender_name = get_bloginfo('name');
$blog_url = get_bloginfo('url');
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$sender_name.' <no-reply@'.$blog_url.'>' . "\r\n";
$headersssssssssssss = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail()
関数のパラメータとして$headersssssssssssss
変数を使用すると、それは機能し、Eメールを送信します。
しかし、私がパラメータとして$headers
を使用するとき、それはしません。
注:私は既にwp_mail
を代わりに使用しようとしましたが、同じ結果になります。
if( mail($to, $subject, $message, $headersssssssssssss) )
{
echo '<script>alert("mail sent success!");</script>';
} else {
echo '<script>alert("mail where not sent");</script>';
}
exit;
WordPressには wp_mail()
関数があります。ヘッダーは、\n\r
などを末尾に付けずに配列として追加する必要があります。
wp_mail(
'[email protected]',
'Hello World!',
'Just saying...',
array(
'MIME-Version: 1.0',
'Content-type: text/html; charset=iso-8859-1',
sprintf(
'From: %s <no-reply@%s>',
get_bloginfo('name'),
site_url()
),
sprintf( 'X-Mailer: PHP/%s', phpversion() ),
)
);
コンテンツタイプを変更するには、フィルタを使用することもできます。
<?php
/* Plugin Name: WP Mail Content Type text/html */
function wpse_97789_mail_contenttype( $content_type )
{
remove_filter( current_filter(), __FUNCTION__ );
return 'text/html';
}
// Then, whereever you need it, just add the filter before calling the function
// It removes itself after firing once
add_filter( 'wp_mail_content_type', 'wpse_97789_mail_contenttype' );
wp_mail(
'[email protected]',
'Hello World!',
'Just saying...',
array(
'MIME-Version: 1.0',
sprintf(
'From: %s <no-reply@%s>',
get_bloginfo('name'),
site_url()
),
sprintf( 'X-Mailer: PHP/%s', phpversion() ),
)
);