【问题标题】:i can't Send Mail Using Contact Form With PHPMailer and Gmail SMTP我无法使用带有 PHPMailer 和 Gmail SMTP 的联系表发送邮件
【发布时间】:2019-10-15 16:08:12
【问题描述】:

我正在尝试使用 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']."لتواصلك معنا ،سيتم الرد عليكم 
        قريباً";
  } 
 }
 ?>

错误信息页面不存在

谢谢

【问题讨论】:

    标签: php html email


    【解决方案1】:

    如果您为您的 gmail 帐户启用了两步验证,则 gmail 将不允许您通过您的应用发送电子邮件。您必须生成应用程序密码并使用它来发送邮件。在此处查看如何生成应用程序密码以从第三方应用程序使用。 https://support.google.com/accounts/answer/185833?hl=en

    【讨论】:

    • 它实际上是禁用的,我真的不知道实际问题是什么,当我点击提交时,它必须到contact.php并发送电子邮件,但它返回为“找不到页面”,甚至如果它存在于我的域中!!!
    【解决方案2】:

    我发现了问题,但我不明白为什么, 在 php 文件的第 18 行,
    $mail->setForm($_POST['email'],$_POST['first-name']); 如果我删除它,我可以将电子邮件发送到我的 gmail 帐户。 谁能告诉我那是怎么回事? 如果是阿拉比卡语的消息,它不会读吗?

    【讨论】:

      猜你喜欢
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      • 2017-10-05
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多