私の状況は次のとおりです。
私はubercartを使用しており、購入の確認メール(顧客が購入したとき)用に3つのモジュールをインストールしています。モジュールは、SMTP、MIMEMail、およびHTMLMAILです。確認、送信はHTMLで機能します。ただし、製品の有効期限が切れたときに、別の種類の電子メールを作成する必要があります。そして、私は自分のモジュールでやっています。しかし、drupal_mailまたはdrupal_mail_sendの機能を使用すると、送信が修正されません。関数をデバッグすると、明らかにすべてが正しいのですが、メールが届きません。
関数の私のコードはdrupal_mail_sendです:
$message = array(
'to' => $to,
'from' => $from,
'id' => 'cuponalcubo_mailing',
'subject' => $subject,
'body' => $body,
'headers' => array(
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8; format=flowed; delsp=yes',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Pressflow',
)
);
drupal_mail_send($message);
そして、関数のコードはdrupal_mailです。
function ....(){
$params = array(
'subject' => $subject,
'body' => t($body)
);
drupal_mail('email_deal_vp', 'email_deal_vp_html_mail', $to, language_default(), $params, $from);
}
/*
* Implements HOOK_MAIL
*/
function email_deal_vp_mail($key, &$message, $params) {
$language = $message['language'];
switch ($key) {
case 'email_deal_vp_html_mail':
$message['subject'] = t($params['subject'], $var, $language->language);
$body = "<html><body>
{$params['body']}
</body></html>";
$message['body'][] = $body;
$message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
break;
}
}