Je peux envoyer des courriels par programme avec une pièce jointe avec problème. Mais après avoir cherché, je ne peux pas sembler trouver la solution de la recherche de plusieurs fichiers. Est-ce que quelqu'un a le code à cela?.
Voici le code de travail que j'ai pour l'envoi de courrier électronique.
$mail = variable_get('site_mail', ''); // sets the site wide email address
$my_module = 'Email Application';
$my_mail_token = microtime();
$from = $sender;
$message = array(
'id' => $my_module,
'to' => $app_email,
'subject' => $subject,
'body' => $body,
'headers' => array(
'From' => $from,
'Sender' => $from,
'Return-Path' => $from,
),
);
$message['attachments'][] = drupal_realpath($attachment_path);
$system = drupal_mail_system($my_module, $my_mail_token);
Mon travail Drupal 7 Solution avec module mimemail sans invoquer Hook_mail ():
// Load attachments.
$file1 = file_load($fid1);
$file2 = file_load($fid2);
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Invoice ' . $file->filename;
$module = 'mimemail';
$token = time();
$message = array(
'id' => $module . '_' . $token,
'to' => $to,
'subject' => $subject,
'body' => array('something text...'),
'headers' => array(
'From' => $from,
'Sender' => $from,
'Return-Path' => $from,
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8',
),
'params' => array(
'attachments' => array(
0 => array(
'path' => file_stream_wrapper_get_instance_by_uri($file1->uri)->realpath(),
'filecontent' => file_get_contents($file1->uri),
'filename' => $file1->filename,
'mime' => $file1->filemime,
'encoding' => 'base64',
'disposition' => 'attachment',
'list' => TRUE,
),
1 => array(
'path' => file_stream_wrapper_get_instance_by_uri($file2->uri)->realpath(),
'filecontent' => file_get_contents($file2->uri),
'filename' => $file2->filename,
'mime' => $file2->filemime,
'encoding' => 'base64',
'disposition' => 'attachment',
'list' => TRUE,
),
),
),
);
$system = drupal_mail_system($module, $token);
$message = $system->format($message);
if ($system->mail($message)) {
return TRUE;
}
else {
return FALSE;
}