이 코드를 사용할 때 첨부 파일이있는 메일을받을 수 없지만 URL 성공 상태가 표시됩니다. unlink()를 제거하면 서버 업로드 폴더에 첨부 파일이 업로드됩니다. 내 PHPMailer 코드에 문제가 있다고 생각합니다. 누구든지 그것을 식별 할 수 있습니까?PHPMailer v6와 함께 메일을받을 수 없습니다.
내 디렉토리에 PHPMailer, uploads, index.php, upload.php가 있습니다. 많은 일들이 잘못 여기가
<?php
//Main Includes
use PHPMailer\PHPMailer\PHPMailer;
include_once "PHPMailer/PHPMailer.php";
include_once "PHPMailer/Exception.php";
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if (empty($name) || empty($email)) {
header("Location: index.php?empty");
exit();
} else {
//Check if input characters are valid
if (!preg_match("/^[a-zA-Z]*$/", $name)) {
header("Location: index.php?invalidname");
exit();
} else {
//Check if email is valid
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
header("Location: index.php?emailerror");
exit();
} else {
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 10000000) {
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = 'uploads/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
$mail = new PHPMailer();
$mail->addAddress('[email protected]');
$mail->setFrom($email);
// $mail->Subject = $subject;
$mail->isHTML(true);
$mail->Body = $name;
$mail->addAttachment($fileDestination);
$mail->send();
unlink($fileDestination);
header("Location: index.php?uploadsuccess");
exit();
}
else {
echo "Your file is too big!";
}
} else {
echo "There was an error uploading your file!".$fileError;
}
} else {
echo "You cannot upload files of this type!";
}
}
}
}
}
초기 문제는 // 여기를 참조하십시오. 사용 PHPMailer \ PHPMailer \ PHPMailer; include_once "PHPMailer/PHPMailer.php"; include_once "PHPMailer/Exception.php"; –
이메일을 바로 보내지 마십시오. $ mail = new PHPMailer(); print_r ($ mail); 당신이 우편물을 가지고 있는지보십시오. –
@FaizKhan이 (가) 가져올 수 없습니다 ... –