在php中发送邮件时,警报不起作用

如何解决在php中发送邮件时,警报不起作用

| 我已经开发了一个简单的php应用程序。该应用程序包含一个html文件和一个php文件。我正在做的是当用户选择两个日期并输入他/她的电子邮件地址时,我正在调用我的php文件,该文件会将邮件发送到输入的电子邮件ID。 它正确发送邮件。但是问题是它没有向我显示是否发送邮件的状态。我正在使用警报。 这是我的html文件:
<html>
<link rel=\"stylesheet\" href=\"ui.all.css\" type=\"text/css\" media=\"screen\" />
</head>
<body>
        <label>Leave Application</label><br/>
    From <input id=\"date\" type=\"text\"  name=\"ndate\" /><div id=\"d1\"></div><br/>
        To <input id=\"date1\" type=\"text\"  name=\"ndate1\" /><div id=\"d2\"></div><br/>
        Email To <input type=\"text\" id=\"UserEmail\" name=\"userEmail\" onkeyup=\"\"/><br/>
        <input type=\"submit\" id=\"btn_submit\" value=\"Send\" onclick=\"\" />


    <span id=\"d\"></span>

    <script type=\"text/javascript\" src=\"jquery-1.3.2.min.js\"></script>
    <script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js\"></script>


        <script type=\"text/javascript\">
        $(document).ready(function(){
                $(\"#date\").datepicker({ showOn: \'button\',buttonImageOnly: true,buttonImage: \'Images/icon_cal.png\' });
                        $(\"#date1\").datepicker({ showOn: \'button\',buttonImage: \'Images/icon_cal.png\' });
        });

                 $(\"#btn_submit\").click(function(event){

                     var hasError = false;
                        var dt1=$(\"#date\").val();
                     var dt2=$(\"#date1\").val();
                     var em=$(\"#UserEmail\").val();
                     $(\".error\").hide();

                      if(dt1 == \'\')
                          {
                            $(\"#d1\").before(\'<span class=\"error\"><font color=\"red\">This Field Must not be empty.</font></span>\');
                            hasError = true;
                           }

                        if(dt2 == \'\')
                        {
                            $(\"#d2\").before(\'<span class=\"error\"><font color=\"red\">This Field Must not be empty.</font></span>\');
                            hasError = true;
                        }

                        var emailReg = /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$/;

                        var emailaddressVal = $(\"#UserEmail\").val();

                        if(emailaddressVal == \'\') {
                            $(\"#UserEmail\").after(\'<span class=\"error\"><font color=\"red\">Please enter your email address.</font></span>\');
                            hasError = true;
                        }
                        else if(!emailReg.test(emailaddressVal)) {
                            $(\"#UserEmail\").after(\'<span class=\"error\"><font color=\"red\">Enter a valid email address.</font></span>\');
                            hasError = true;
                        }
                        if(hasError == true) { return false; }

                    jQuery.ajax({
                        type: \"GET\",url: \"http://www.myserver.com/sent_mail.php\",async: false,data: \"dt1=\"+dt1+\"&dt2=\"+dt2+\"&email=\"+em,success: function(msg){
                            alert(msg);
                        }
                    });                    
                 });

    </script>
</body>
</html>
这是我的php文件:
   <?php
`extract($_GET);`

        $msg=\"Respected Sir,\\n\\n\\tI will not be able to come to office from \".$dt1.\" to \".$dt2.\". Please grant my leave\";

        $pcto=$email;
        $pcsubject = \'Leave Application\';
        $pcmessage = $msg;
        $pcheaders = \'From:abc@abc.com\'.\"\\r\\n\" .
                     \'Reply-To: abc@abc.com\'.\"\\r\\n\" .
                     \'X-Mailer: PHP/\' . phpversion();

        $isdone=mail($pcto,$pcsubject,$pcmessage,$pcheaders);

        if($isdone)
            echo \"Mail Sent\";
        else
            echo \"Please Try Again\";
?>
    

解决方法

        您确定脚本返回正确的HTTP状态(因此实际上调用了
success
函数)吗?尝试添加
error: function(){
    alert(\'Error\');
}
到ajax对象以查找(或使用FireBug)。     ,        我会这样写if语句
if(mail($pcto,$pcsubject,$pcmessage,$pcheaders)):
    echo \"Mail Sent\";
else:
    echo \"Please Try Again\";
endif;
无论如何,您是否尝试仅在该文件中回显某些内容? 只需在文件顶部添加这样的内容
echo \"this is returning somethin\";
exit;
查看是否返回此值,如果不是,则问题出在ajax请求中。 另外,我会使用Firebug,所以请执行以下操作(请确保已打开并启用了Firebug控制台),而不是发出警报。
console.log(msg);
    ,        现在不知道相同的代码正在为我运行...     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-