我正在尝试在电子邮件正文中发送多个图像。当我发送一个它的作品。但是,一旦我要发送几个邮件,它就不再起作用。
我尝试执行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;
}
}
}
答案 0 :(得分:0)
下午好,
能够在电子邮件正文中添加多个图像。您应该使用CID。
$message .= "<img src='cid:$cid'>";
在邮件正文中如此调用
{{1}}
如果是多张图片,则可以进行foreach甚至for