【问题标题】:Jquery- Putting an attachment in form and send to emailJquery-将附件放入表单并发送到电子邮件
【发布时间】:2017-11-09 07:58:25
【问题描述】:

我在如何在我的工作表单中添加附件时遇到问题,我正在使用 Bootstrap、JQuery 和 PHP。 我不知道如何在用户的位置添加附件将附上他们的简历,然后发送到电子邮件。 我希望你能在不改变我的整个代码的情况下帮助我。有可能吗?

这是我的初始输入表单

<section class = "resume section-padding" id = "resume "><div class="form-group col-md-6">
                                            <label for="fName">First Name</label>
                                            <input type="text" class="form-control" id="fName" placeholder="First Name">
                                          </div>
                                          <div class="form-group col-md-6">
                                            <label for="lName">Last Name</label>
                                            <input type="text" class="form-control" id="lName" placeholder="Last Name">
                                          </div>
                                          <div class = "form-group col-md-12">
                                            <label for="address">Address</label>
                                            <input type="text" class="form-control" id="address" placeholder="Address">
                                          </div>
                                          <div class = "form-group col-md-4">
                                            <label for="doBirth">Date of Birth</label>
                                            <input type="date" class="form-control" id="doBirth" placeholder="Date of Birth">
                                          </div>
                                          <div class = "form-group col-md-4">
                                            <label for="city">City</label>
                                            <input type="text" class="form-control" id="city" placeholder="City">
                                          </div>
                                           <div class = "form-group col-md-4">
                                            <label for="zipCode">ZIP CODE</label>
                                            <input type="number" class="form-control" id="zipCode" placeholder="ZIP">
                                          </div>
                                           <div class = "form-group col-md-6">
                                            <label for="email">E-mail</label>
                                            <input type="email" class="form-control" id="email" placeholder="Email">
                                          </div>
                                          <div class = "form-group col-md-6">
                                            <label for="phone">Phone</label>
                                            <input type="number" class="form-control" id="phone" placeholder="Phone Number">
                                          </div>
</div>

这是我的 jquery,它将获取表单的值。

$('.resume #getResume').on('click', function(e){
            e.preventDefault();
            var fName = $('#fName').val();
            var lName = $('#lName').val();
            var address = $('#address').val();
            var doBirth = $('#doBirth').val();
            var city = $('#city').val();
            var zipCode = $('#zipCode').val();
            var email = $('#email').val();
            var phone = $('#phone').val();
            var form = new Array({ 'fName':fName, 'lName':lName, 'address':address, 'doBirth':doBirth, 'city':city, 'zipCode':zipCode,
                                 'email':email, 'phone':phone });

            $.ajax({
                type: 'POST',
                url: "/path/to/url.php",
                data: ({'action': 'resume', 'form': form})
            }).done(function(data) {
                $('#resume .result').html(data);

            $(".resume")[0].reset();
            });

});

这是我的 php this 我的 jQuery 将传递值的地方

$sendTo = "email@email.com";

$action = $_POST['action'];

    $name = $_POST['form'][0]['name'];
    $email = $_POST['form'][0]['email'];
    $subject = $_POST['form'][0]['subject'];
    $message = $_POST['form'][0]['message'];

    if ($name == "" || $email == "" || $message == "" || $subject == "") {
        echo "<p class=\"error\">There was problem while sending E-Mail. Please verify entered data and try again!</p>";
        exit();
    }

    else
    {
        $header = 'From: ' . $name . '<' . $email . ">\r\n" .
        'Reply-To: ' . $email . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

        $sent = mail($sendTo, $subject, $message, $header);

        if ($sent) {
            echo "<p class=\"success\">Message sent succesfully.</p>";
        } else {
            echo "<p class=\"error\">There was problem while sending E-Mail.</p>";
        }
    }

?>

【问题讨论】:

  • 你想要上传文件功能吗?
  • 是的,就是这样

标签: php


【解决方案1】:

如果您没有使用任何框架并且在核心 php 中上传文件非常容易。您可以查看所有代码和工作 here 以便更好地理解。这是完成工作的好来源。

在您当前的代码中,只需添加一个字段即可上传文件。像这样

&lt;input type="file" name="fileToUpload" id="fileToUpload"&gt;

。也不要忘记ONphp.ini 文件中的 file_uploads。

要将其添加到电子邮件中:

要在电子邮件中添加,只需在脚本文件中捕获文件并将其发送到这样的电子邮件。 $email-&gt;AddAttachment( $file_to_attach , 'NameOfFile.pdf' );

【讨论】:

  • 我应该在哪里添加 $email->AddAttachment ?在我的 php 中?还是在我的 jquery 中?
  • 我给你的资源/链接实际上是核心php邮件的好方法。是的,这应该在 php 端
猜你喜欢
  • 2012-07-02
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
相关资源
最近更新 更多