什么是使用表单数据并将其发送到gmail的最佳方法

时间:2019-03-11 21:24:37

标签: php html5 forms

我对一些PHP表单处理有疑问。我想要的是获取下面表格中的数据,并将数据发送到我的Gmail帐户。我没有邮件服务器。我已经发现,PHP邮件功能无法做到这一点。我目前正在尝试使用PHPmailer,但似乎没有正确的结果,因为似乎PHPmailer仅可用于填写表格并将其发送给具有您的Gmail地址的人。我想让用户使用表格输入将我邮寄到我的Gmail地址。那我该怎么办?使用hmailserver和SquirrelMail设置邮件服务器,还是有更好的方法。

<form id="form" action="PHPmail2.php" method="POST">
    <input type="text" name="firstname"class="first" placeholder="first name"><font color="red">*</font>
    <input type="text" name="lastname" class="first" placeholder="lastname"><font color="red">*</font>
    <input type="email" name="email" class="first" placeholder="E-mail"><font color="red">*</font>
    <br>
    <input type="text" name="subject" class=" subject first" placeholder="subject">
    <textarea type="text" class="textarea mail first" name="textarea" placeholder="fill somting in"></textarea>
    <button type ="submit" id="submitbutton"name="submit">Send</button>
</form>

PHP代码:

<?php 

if (isset($_POST['submit'])) {
    if (!empty($firstname)) {
        header('Location:index.php');
    }else{
        header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
    }

    if (!empty($lastname)) {
        header('Location:index.php');
    }else{
        header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
    }

    if (!empty($from)) {
        header('Location:index.php');
    }else{
        header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
    }

}

添加一些PHPmailer代码,我要做的就是将表单操作链接到文件名。

<?php 
$to="*";
$from=$_POST['email'];
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$subject=$_POST['subject'];
$msg=$_POST['textarea'];
$subject= "form submission";
$subject2="Copy of your form submission";
$message= $firstname. " ".$lastname. " Wrote the following: "."\n\n".$msg;
$message2= "Here is a copy of your message ". $firstname ."\n\n". $msg;


    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    require ("composer/vendor/autoload.php");
    $mail= new PHPMailer(true);

    try{
        $mail->IsSMTP();
        $mail->Host = 'smtp.gmail.com';
        $mail->SMTPAuth = true;
        $mail->Port  =25;
        $mail->Username =$to;
        $mail->Password = '*';
        $mail->setFrom($email);
        $mail->addAddress($email);
        $mail->Subject='*';
        $mail->Body=$msg;

        $mail->send();

    }

    catch(Exception $e){
        echo $e->errorMessage();
    }

    catch(\Exception $e)
    {
        echo $e->getMessage();
    }

?>

我基本上想要的是当用户按下“提交”时,我希望将包含所有输入数据或更好的一部分输入数据的电子邮件发送到我的Gmail帐户。

如果您对此主题有任何疑问,感谢您阅读我的帖子。

0 个答案:

没有答案