我不是PHP程序员,所以我寻求任何帮助。我尝试使用PHPMailer功能从网络表单发送多个附件
当我选择一个或多个文件并单击"发送"按钮时,我可以成功地接收电子邮件。
问题是当我没有选择任何附件时。当我点击"发送"按钮,并且没有向我的表单添加任何附件时,我只得到一个空白的网页——我所有的网页表单都不可见。
有人能帮我解决我的问题吗?这是我的代码:
if(isset($_REQUEST['ownerName']) && (!empty($_REQUEST['ownerName']))){
$mail = new PHPMailer;
$mail->setFrom($ownerEmail);
$mail->addAddress($ownerEmail);
$mail->AddReplyTo($ownerEmail);
$mail->Subject = 'Ubezpieczenia podróży - zapytanie o oferte';
$mail->msgHTML("
<html><body>
<h2>DANE KLIENTA / DANE KONTAKTOWE:</h2>
<table style='border: 1px solid black;'>
<tr style='border: 1px solid black;'>
<th style='border: 1px solid black;'>Imie</th><th style='border: 1px solid
black;'>Nazwisko</th><th style='border: 1px solid black;'>PESEL</th><th style='border: 1px solid
black;'>Telefon</th ><th style='border: 1px solid black;'>Email</th>
</tr style='border: 1px solid black;'>
<tr style='border: 1px solid black;'>
<th style='border: 1px solid black;'>$ownerName</th><th style='border: 1px solid
black;'>$ownerSurname</th><th style='border: 1px solid black;'>$ownerPESEL</th><th style='border: 1px
solid black;'>$ownerPhoneNumber</th><th style='border: 1px solid black;'>$ownerEmail</th>
</tr>
</table>
<h2>DANE PODRÓŻY:</h2>
<table style='border: 1px solid black;'>
<tr style='border: 1px solid black;'>
<th style='border: 1px solid black;'>Strefa wyjazdu</th><th style='border: 1px solid
black;'>Liczba osób poniżej 26 lat</th><th style='border: 1px solid black;'>Liczba osób pomiędzy 26 a
65 lat</th><th style='border: 1px solid black;'>Liczba osób powyżej 65 lat</th><th style='border: 1px
solid black;'>Początek okresu ubezpieczenia</th><th style='border: 1px solid black;'>Koniec okresu
ubezpieczenia</th>
</tr>
<tr style='border: 1px solid black;'>
<th style='border: 1px solid black;'>$TripDirection</th><th style='border: 1px solid
black;'>$amountOfLess26</th><th style='border: 1px solid black;'>$amoountOfBetween26and65</th><th
style='border: 1px solid black;'>$amountOfMoreThan65</th><th style='border: 1px solid
black;'>$insuranceStartDate</th><th style='border: 1px solid black;'>$insuranceEndDate</th>
</tr>
<table>
</body></html>
");
foreach ($_FILES["attachment"]["name"] as $k => $v) {
$mail->AddAttachment( $_FILES["attachment"]["tmp_name"][$k], $_FILES["attachment"]["name"][$k] );
}
$mail->IsHTML(true);
$mail->CharSet = "UTF-8";
if(!$mail->send()){
echo "Błąd w trakcie wysyłania wiadomości: " . $mail->ErrorInfo;
}else{
echo "Dziękujęmy za wysłanie wiadomości!";
}
}
几个小时后,我找到了解决方案。我需要添加
require_once("src/Exception.php");
所有电子邮件都能很好地使用和不使用附件