如何从自定义PHP代码发送电子邮件?

ane*_*yzm 9 drupal drupal-6

我需要使用Drupal服务从我的自定义php代码发送电子邮件.

换句话说,我注意到Drupal可以轻松发送电子邮件,所以我想知道如何使用drupal库发送电子邮件,而不是使用外部库.

Pas*_*TIN 8

您需要使用drupal_mail(),并在模块中定义hook_mail().

然后,您将调用第一个,电子邮件信息将由第二个设置.(请参阅文档页面上的示例drupal_mail().)


kia*_*uno 7

$message = array(
  'to' => 'example@mailinator.com',
  'subject' => t('Example subject'),
  'body' => t('Example body'),
  'headers' => array('From' => 'example@mailinator.com'),
);

drupal_mail_send($message);
Run Code Online (Sandbox Code Playgroud)

注意事项:

  • 因为drupal_mail()未调用,其他模块将无法hook_mail_alter()输出,这可能会导致意外结果.
  • drupal_mail_send() 我不知道发送消息的语言是什么,所以这需要事先弄清楚.
  • 您必须手动指定所需的任何其他电子邮件标头("内容类型"等).这些通常由你照顾drupal_mail().如果您的模块发送了几种不同类型的电子邮件,并且您希望这些电子邮件模板可以编辑(例如,用户模块的各种注册通知/密码重置/等电子邮件),使用hook_mail()仍然是最好的方法.

这是drupal_mail()文档中的注释中报告的内容.如果您的案例中的警告不重要,那么您可以使用报告的代码段.