私はこれらの2つの関数を持っています。最初の関数はdrupal_mail()関数を介してメールを送信することです:
function example_function_name($what) {
drupal_mail('MYMODULE', 'some_mail_key', '[email protected]', language_default());
}
そして2番目はhook_mail関数です:
function MYMODULE_mail($key, $message, $params){
switch ($key){
case 'some_mail_key':
$message['subject'] = 'test subject';
$message['body'] = 'test body message';
break;
}
}
しかし、件名も本文メッセージもない空白の電子メールをスパムで受信します。ここに何か足りないものはありますか?
前もって感謝します。
hook_mail
は、参照によりメッセージを受け取ることになっています。あなたがそれをする方法、あなたはローカルコピーを修正している、そしてあなたの修正は決して関数の本体を離れることができない。次のようになります。
function MYMODULE_mail($key, &$message, $params){
switch ($key){
case 'some_mail_key':
$message['subject'] = 'test subject';
$message['body'] = 'test body message';
break;
}
}
この小さなアンパサンドがすべての違いを生み出しています。省略できません。 APIが参照引数を使用してフックを定義した場合は、それを参照引数にしておくか、問題が発生する可能性があります。