使用PHPMailer使用gmail进行身份验证

问题描述

我正在尝试使用PHPMailer发送带有表单的电子邮件,但效果不佳。 使用localhost xampp,它可以正常运行,但是当上传到我的网站时会导致错误, 经过检查后,我知道这是因为gmail阻止了我(我已经在gmail上启用了安全性较低的应用) 它似乎唯一可行的方法是从代码删除isSmtp(),但我认为这不是一个好主意。 有什么建议吗? 下面的代码

my $proc = run 'my-command','and','args',:in;
$proc.in.say('Hello World!');
$proc.in.close;

出现以下错误

    if (array_key_exists('attachment',$_FILES)) {
    $img_name = $_FILES['attachment']['name'];
    $upload = tempnam(sys_get_temp_dir(),hash('sha256',$_FILES['attachment']['name']));
    $uploadfile = $_SERVER['DOCUMENT_ROOT'].'/'.$img_name;
    if (move_uploaded_file($_FILES['attachment']['tmp_name'],$uploadfile)) {
        if (!$err) {
            $mail = new PHPMailer(true);
          //  $mail->isSMTP();
            // $mail->SMTPDebug = 3;
            $mail->SMTPSecure = 'tls';
            $mail->Host = 'smtp.gmail.com';
            // set a port
            $mail->Port = 587;
            $mail->SMTPAuth = true;
            // set login detail for gmail account
            $mail->Username = '******';
            $mail->Password = '********';
            $mail->CharSet = 'utf-8';
            // set subject
            $mail->setFrom($email,$username);
            $mail->addAddress($to);
            $mail->addReplyTo($email,$username);
            $mail->addAttachment($uploadfile,'My uploaded image');
            $mail->IsHTML(true);
            $mail->Subject = 'Contact form: Testing Feedback';
            $mail->Body = $reason;
            if (!$mail->send()) {
                $msg .= "Mailer Error: " . $mail->ErrorInfo;
            } else {
                $msg .= "Message sent!";
            }
        }
    } else {
                $msg .= 'Failed to move file to ' . $uploadfile;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)