我正在尝试使用PHPMailer和Gmail SMTP从联系人发送电子邮件,实际上我不知道问题出在哪里? 我下载了PHPMailer from githup. 我尝试将其设置为this gay did.
contact.html
<form action="contact.php" method="POST" class="p-5 ">
<div class="row form-group">
<div class=" mb-3 ">
<label class="text-black" for="first-name">الاسم الاول</label>
<input type="text" name="first-name" class="form-control" />
</div>
<div class="col">
<label class="text-black" for="last-name">الاسم الاخير</label>
<input type="text" name="last-name" class="form-control" />
</div>
</div>
<div class="row form-group">
<div class="col">
<label class="text-black" for="email">إيميل</label>
<input type="email" name="email" class="form-control" />
</div>
</div>
<div class="row form-group">
<div class="col">
<label class="text-black" for="subject">الموضوع</label>
<input type="subject" name="subject" class="form-control" />
</div>
</div>
<div class="row form-group">
<div class="col">
<label class="text-black" for="message"
>محتوى الرسالة</label
>
<textarea
name="message"
cols="30"
rows="7"
class="form-control"
placeholder="اكتب هنا ..."
></textarea>
</div>
</div>
<div class="row form-group">
<div class="col2">
<input
type="submit"
name="submit"
value="إرسال"
class="px-4 text-white"
/>
</div>
</div>
</form>
contact.php
<?php
$result="";
if (isset($_POST['submit'])){
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->SMTPAuth=true;
$mail->SMTPSecure='tls';
$mail->Username='secret';
$mail->Password='secret';
$mail->setForm($_POST['email'],$_POST['first-name']);
$mail->addAddress('secret');
$mail->addReplyTo($_POST['email'],$_POST['last-name']);
$mail->isHTML(true);
$mail->subject='Contact Us: '.$_POST['subject'];
$mail->Body='<h1 align=center>الأسم :'.$_POST['first-name'].$_POST['last-name'].' الايميل: '.$_POST['email'].' العنوان: '.$_POST['subject'].' العنوان: '.$_POST['message'].'</h1>';
if(!$mail->send()){
$result="حدث خطاء حاول مرة اخرى ، وشكراً";
}
else{
$result="شكراً".$_POST['fname']."لتواصلك معنا ،سيتم الرد عليكم
قريباً";
}
}
?>
错误消息页面不存在
谢谢
答案 0 :(得分:0)
如果您为自己的gmail帐户启用了两步验证,则gmail将不允许您通过您的应用发送电子邮件。您必须生成应用密码并使用它发送邮件。在此处查看如何生成可从第三方应用程序使用的应用程序密码。 https://support.google.com/accounts/answer/185833?hl=en
答案 1 :(得分:0)
我发现了问题,但我不明白为什么,
在php文件的第18行中,
$ mail-> setForm($ _ POST ['email'],$ _ POST ['first'name']);
如果我删除它,我可以将电子邮件发送到我的Gmail帐户。
谁能告诉我那是什么?
如果邮件使用阿拉伯文语言,将不会阅读?