function MODULENAME_mail ($key,&$message, $params){switch($key){case'mymail':// Set headers etc
$message['to']='[email protected]';
$message['subject']= t('Hello');
$message['body'][]= t('Hello @username,', array('@username'=> $params['username']));
$message['body'][]= t('The main part of the message.');break;}}
Ele está certo, mas, para esclarecer um pouco, hook_mail fornece uma maneira de estruturar e tema um email com base em uma chave arbitrária que você definir. drupal_mail () é o que você chama para enviar um email. Passe a chave da estrutura que você deseja usar. (e o módulo que responde a essa chave)
Jason Smith
9
Neste exemplo $message['to']é codificado para [email protected]. Omita isso e a mensagem será enviada ao destinatário especificado quando drupal_mail()for chamado.
Pfrenssen
12
Se você deseja uma maneira mais simples de enviar e-mails, consulte o Simple Mail ; é um módulo no qual estou trabalhando para facilitar o envio de emails com o Drupal 7+, e não requer implementações adicionais de gancho ou conhecimento do MailSystem. O envio de um email é tão simples quanto:
Você pode usar esse código em um gancho de sua própria escolha em seu módulo personalizado:
function yourmodulename_mail($from ='default_from', $to, $subject, $message){
$my_module ='yourmodulename';
$my_mail_token = microtime();if($from =='default_from'){// Change this to your own default 'from' email address.
$from = variable_get('system_mail','[email protected]');}
$message = array('id'=> $my_module .'_'. $my_mail_token,'to'=> $to,'subject'=> $subject,'body'=> array($message),'headers'=> array('From'=> $from,'Sender'=> $from,'Return-Path'=> $from,),);
$system = drupal_mail_system($my_module, $my_mail_token);
$message = $system->format($message);if($system->mail($message)){return TRUE;}else{return FALSE;}}
Então você pode usar a função acima desta maneira:
$user = user_load($userid);// load a user using its uid
$usermail =(string) $user->mail;// load user email to send a mail to it OR you can specify an email here to which the email will be sent
customdraw_mail('default_from', $usermail,'You Have Won a Draw -- this is the subject','Congrats! You have won a draw --this is the body');
Respostas:
Usando hook_mail e drupal_mail, você pode criar e enviar um email.
Implemente um email usando hook_mail:
Para enviar um email, use drupal_mail:
Obviamente, substitua os parâmetros: $ key deve ser igual a 'mymail'
Um email é enviado em algumas etapas:
fonte
$message['to']
é codificado para[email protected]
. Omita isso e a mensagem será enviada ao destinatário especificado quandodrupal_mail()
for chamado.Se você deseja uma maneira mais simples de enviar e-mails, consulte o Simple Mail ; é um módulo no qual estou trabalhando para facilitar o envio de emails com o Drupal 7+, e não requer implementações adicionais de gancho ou conhecimento do MailSystem. O envio de um email é tão simples quanto:
fonte
Você pode usar uma maneira mais simples de enviar e-mails, verificar o sistema de e- mails ; é um módulo.
fonte
Você pode usar esse código em um gancho de sua própria escolha em seu módulo personalizado:
Então você pode usar a função acima desta maneira:
fonte