首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置PHP Mailer

设置PHP Mailer
EN

Stack Overflow用户
提问于 2016-12-05 01:06:32
回答 1查看 125关注 0票数 1

我有一些关于设置PHP邮件程序的问题.我的第一个问题是,PHP文件/文件夹是否与我的其他文件(.html、css和JS)位于同一个位置?

如果是这样的话,那么我确实需要一些帮助来设置这件事,否则我会有点迷路.我的PHP文件如下:

代码语言:javascript
复制
<?php

    $emailTo = "myemail@yahoo.com"; // Enter your email for feedbacks here 

    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "From: ".$_POST['rsEmail']."\r\n";

    if (!isset($_POST['rsSubject'])) {
        $subject = "Contact Form Message"; // Enter your subject here
    } else {
        $subject = $_POST['rsSubject'];
    }

    reset($_POST);

    $body = "";
    $body .= "<p><b>Name: </b>".$_POST['rsName']."</p>";
    $body .= "<p><b>Email: </b>".$_POST['rsEmail']."</p>";
    $body .= "<p><b>Subject: </b>".$subject."</p>";
    $body .= "<p><b>Message: </b>".$_POST['rsMessage']."</p>";  

    if( mail($emailTo, $subject, $body, $headers) ){
        $mail_sent = true;
    } else {
        $mail_sent = false;
    }   
    if(!isset($resp)){
        echo json_encode($mail_sent);
    }
?>

我相信与之相对应的javascript是:

代码语言:javascript
复制
function isValidEmail(emailAddress) {
        var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
        return pattern.test(emailAddress);
    };

谢谢你们的帮助!意味着很多:)

编辑:当表格正确填写时,上面写着:“恭喜你的邮件被发送了”--这意味着这是一个有效的表单提交,我只是从来没有收到过这封电子邮件。

编辑2:我转到filezilla尝试编辑/查看js文件,得到以下错误:

不完全确定这意味着什么(对这一切来说有点新鲜)。这也是我的表格:

代码语言:javascript
复制
                        <form class="rsForm" action="php/mailsender.php" method="post">
                            <div class="input-field">
                                <label>Name</label>
                                <input type="text" name="rsName" value="">
                                <span class="line"></span>
                            </div>

                            <div class="input-field">
                                <label>Email</label>
                                <input type="email" name="rsEmail" value="">
                                <span class="line"></span>
                            </div>

                            <div class="input-field">
                                <label>Subject</label>
                                <input type="text" name="rsSubject" value="">
                                <span class="line"></span>
                            </div>

                            <div class="input-field">
                                <label>Message</label>
                                <textarea rows="4" name="rsMessage"></textarea>
                                <span class="line"></span>
                            </div>

                            <span class="btn-outer btn-primary-outer ripple">
                                <input class="rsFormSubmit btn btn-lg btn-primary" type="submit" value="Send">
                            </span>
                        </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-05 01:12:35

因此,除非您的表单位于一个已经由web托管服务托管的网站上,或者您有类似MAMP的东西可以在本地服务器上测试您的网页(PRO,因为它附带Postfix),否则您将不会收到电子邮件。

要让PHP实际给您发电子邮件,您需要一个MTA (邮件传输代理),比如Postfix。当你的网站被托管时,他们会自动在他们的服务器上为你设置一个。如果您在本地进行测试,比如将文件路径放在浏览器中,则不会收到电子邮件,因为您的本地主机不是用MTA设置的。

请查看Test emails locally with mamp,了解如何测试您的电子邮件表单,而无需在专业服务器上设置您的网站。

如果你对此还有任何疑问,请在评论中给我加上标签!

PS。这是一个人们不知道的非常普遍的问题。这也是我第一次得到它,这就是为什么我买了MAMP来测试网站表格。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40965680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档