web-dev-qa-db-fra.com

Comment envoyer plusieurs pièces jointes avec drupal_mail_system

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);
2
Deejay

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;
}
1
Sándor Juhász