PHPMailer和未选择附件-无法发送表单消失



我不是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");

所有电子邮件都能很好地使用和不使用附件

最新更新