我正在使用php / laraval创建一个项目。我只是发送带有附件的电子邮件。但是此附件不起作用。我知道对此有太多问题,但找不到答案。
$file1 = $_FILES['file']['tmp_name'];
$pathset = base_path();
$path = $pathset."/public/uploads/".$_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"],
$path);
DB::statement("UPDATE orders SET pdf = '".$fileData."' WHERE id = '".$id."'");
$mail = new PHPMailer\PHPMailer(); // create a n
$mail->isSMTP();
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxx@gmail.com";
$mail->Password = "xxxxxx";
$mail->SetFrom("xxxxx@gmail.com", 'xxxxx.com');
$mail->Subject = "xxxxx Ready";
$mail->Body = $text;
$mail->AddAddress("xxxxxx.com");
$mail->AddAttachment($pdfLink,$fileData, $encoding = 'base64', $type = 'application/pdf');
$mail->Send();
生成的pdf链接是可访问的。当我在新选项卡中打开pdf链接时,它可以工作。但是我不知道为什么 php mailer不能访问
答案 0 :(得分:0)
我有解决方案,我只是从服务器获取文件。这是无法正常运行的原因。文件应从实际路径上传。
答案 1 :(得分:0)
登录到您的Gmail帐户,转到Enable access
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_GMAIL_USERNAME
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl
并且所有必须工作正常