如何在体内添加几个嵌入式图像?

时间:2019-07-08 12:53:23

标签: phpmailer

我正在尝试在电子邮件正文中发送多个图像。当我发送一个它的作品。但是,一旦我要发送几个邮件,它就不再起作用。

我尝试执行for循环,但没有结果。我还尝试过多次使用不同的cid为每个图像添加addEmbeddedImage。

 if(array_key_exists('submit', $_POST)){
  if (array_key_exists('userfile', $_FILES)) {
    $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name']));
    $uploadfile2 = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile2']['name']));

        if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) ) {    
            require './vendor/autoload.php';
            $prenom = $_POST['prenom'];
            $nom = $_POST['nom'];
            $q1 = $_POST['q1'];
            $q1_2 = $_POST['q1_2'];
            $q2 = $_POST['q2'];
            $q2_2 = $_POST['q2_2'];
            $mail = new PHPMailer;
            $mail->isHTML(true);
            // $mail->isSMTP();
            // $mail->SMTPDebug = 2;
            $mail->Host = 'ssl0.ovh.net';
            $mail->Port = 465;
            $mail->SMTPSecure = 'ssl';
            $mail->SMTPAuth = true;
            $mail->CharSet = 'UTF-8';
            $mail->setFrom('lol@example.com', $prenom);
            $mail->addAddress('info@nicolaspoulain.be', 'Jessica');
            $mail->Subject = 'Formulaire de sécurité VCA';
            $mail->AddEmbeddedImage($uploadfile, "my-attach");
            $mail->AddEmbeddedImage($uploadfile2, "my-attach2");        
            $mail->Body = 
            '<h1 style= "text-align: center;" margin-bottom:"100px;"> Formulaire de visite sécurité</h1>
            <h4>Prénom: </h4>' . strip_tags($prenom) .
            '<h4>Nom: </h4>' . strip_tags($nom) .
            '<table rules="all" style="border-color: #666;" cellpadding="10">
            <tr><th style="width: 40%;">Question</th><th style="width: 10%;">Réponse</th><th style="width: 50%;">Commentaires</th></tr>
            <tr style="background: #eee;"><td><strong>Y a-t-il un permis de travail?</strong> </td><td>' . strip_tags($q1) . "</td><td>" . strip_tags($q1_2) . '<img src="cid:my-attach">' . "</td></tr>
            <tr style='background: white;'><td><strong>La description de la tâche et les mesures de sécurité sont-elles suffisamment claires?</strong> </td><td>" . strip_tags($q2) . "</td><td>" . strip_tags($q2_2) . '<img src="cid:my-attach2">' . "</td></tr>";
            if (!$mail->send()) {
                $msg .= "Mailer Error: " . $mail->ErrorInfo;
            } else {
                $msg .= "L'audit a bien été transmis!";
            }
          } else {
              $msg .= 'Failed to move file to ' . $uploadfile;
          }
    }   
  }    


1 个答案:

答案 0 :(得分:0)

下午好,

能够在电子邮件正文中添加多个图像。您应该使用CID。

$message .= "<img src='cid:$cid'>";

在邮件正文中如此调用

{{1}}

如果是多张图片,则可以进行foreach甚至for

相关问题