Javascript 如何在ajax请求成功中获取phpmailer回显消息?
我正在为我的大学项目开发PHP MVC模型,在该项目中,我使用Smarty作为我的视图,使用ajax处理按钮单击和其他用户相关操作。我在index.tpl文件中创建了一个用户注册表单,并在表单提交过程中创建了一个名为sendmail controller的表单,该表单包含sendmail()函数使用phpmailer SMTP发送用户数据。这可以正常工作,但在成功发送给用户phpmailer的邮件上,echo“Message has sent successfully”;作为回应。但在ajax成功方法中,将响应数据打印到控制台将打印发送邮件的整个操作。我得到的是 (索引):301 2020-10-12 08:12:26连接:向 smtp.gmail.com:587,超时=300,选项=array()Javascript 如何在ajax请求成功中获取phpmailer回显消息?,javascript,php,ajax,model-view-controller,smarty3,Javascript,Php,Ajax,Model View Controller,Smarty3,我正在为我的大学项目开发PHP MVC模型,在该项目中,我使用Smarty作为我的视图,使用ajax处理按钮单击和其他用户相关操作。我在index.tpl文件中创建了一个用户注册表单,并在表单提交过程中创建了一个名为sendmail controller的表单,该表单包含sendmail()函数使用phpmailer SMTP发送用户数据。这可以正常工作,但在成功发送给用户phpmailer的邮件上,echo“Message has sent successfully”;作为回应。但在ajax成
2020-10-12 08:12:26连接:已打开
2020-10-12 08:12:27服务器-> 客户:220 smtp.gmail.com ESMTP x25sm240067pfr.132-gsmtp
2020-10-12 08:12:27客户端->服务器:EHLO本地主机
2020-10-12 08:12:27服务器->客户端:250-smtp.gmail.com,随时为您服务, [103.76.211.229]250码 35882577250-8BITME250-STARTTLS250-ENHANCEDSTATUSCODE250-PIPELINING250-CHUNKING250 SMTPUTF8
2020-10-12 08:12:27客户端->服务器:STARTTLS
2020-10-12 08:12:27服务器->客户端:220 2.0.0准备启动 TLS
2020-10-12 08:12:28客户端->服务器:EHLO本地主机
2020-10-12 08:12:28服务器->客户端:250-smtp.gmail.com 服务,[103.76.211.229]250-SIZE 35882577250-8bitmeme250-AUTH登录 普通XOAUTH2普通客户端令牌OAuthBear XOAUTH250-ENHANCEDSTATUSCODES250-Pipeling250-CHUNKING250 SMTPUTF8
2020-10-12 08:12:28客户端->服务器:身份验证登录
2020-10-12 08:12:28服务器->客户端:334 VXNlcm5hbWU6
2020-10-12 08:12:28客户端->服务器:[凭证隐藏]
2020-10-12 08:12:29服务器->客户端:334 UGFzc3dvcmQ6
2020-10-12 08:12:29客户端->服务器:[凭证隐藏]
2020-10-12 08:12:29服务器->客户端:2352.7.0已接受
2020-10-12 08:12:29客户端->服务器:邮件 发件人:
2020-10-12 08:12:29服务器-> 客户:250 2.1.0正常x25sm240067pfr.132-gsmtp
2020-10-12 08:12:29客户端->服务器:RCPT到:
2020-10-12 08:12:30服务器->客户端:250 2.1.5正常 x25sm240067pfr.132-gsmtp
2020-10-12 08:12:30客户-> 服务器:数据
2020-10-12 08:12:30服务器->客户端:354 Go 前进x25sm240067pfr.132-gsmtp
2020-10-12 08:12:30客户-> 服务器:日期:2020年10月12日星期一10:12:26+0200
2020-10-12 08:12:30 客户端->服务器:收件人:ReceipentName
2020-10-12 08:12:30客户端->服务器:发件人:管理员
2020-10-12 08:12:30客户端->服务器: 主题:测试邮件服务
2020-10-12 08:12:30客户端-> 服务器:消息ID:
2020-10-12 08:12:30客户端->服务器:X-Mailer:PHPMailer 6.1.8 ()
2020-10-1208:12:30 客户端->服务器:MIME版本:1.0
2020-10-12 08:12:30客户端 ->服务器:内容类型:多部分/备选
2020-10-12 08:12:30客户端->服务器: boundary=“b1_pwOu5jbIHMRP9WlAToCeB6p4gA3pAlwCtXLXk3D28”
2020-10-12 08:12:30客户端->服务器:内容传输编码: 8比特
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30客户端->服务器:这是MIME中的多部分消息 格式。
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30客户端->服务器: --b1_pwOu5jbIHMRP9WlAToCeB6p4gA3pAlwCtXLXk3D28
2020-10-12 08:12:30客户端->服务器:内容类型:文本/普通;字符集=美国ascii码
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30 客户端->服务器:非HTML邮件客户端的纯文本正文
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30 客户端->服务器: --b1_pwOu5jbIHMRP9WlAToCeB6p4gA3pAlwCtXLXk3D28
2020-10-12 08:12:30客户端->服务器:内容类型:text/html;字符集=美国ascii码
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30 客户端->服务器:你好,用户,您的详细信息是:
全名 :Ajax,电子邮件:recipent@gmail.com,日期:2020年10月1日
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30客户端-> 服务器:
2020-10-12 08:12:30客户端->服务器: --b1\u pwOu5jbIHMRP9WlAToCeB6p4gA3pAlwCtXLXk3D28--
2020-10-12 08:12:30客户端->服务器:
2020-10-12 08:12:30客户端-> 服务器:.
2020-10-12 08:12:31服务器->客户端:250 2.0.0正常 1602490352 x25sm240067pfr.132-gsmtp
2020-10-12 08:12:31客户 ->服务器:退出
2020-10-12 08:12:31服务器->客户端:221 2.0.0关闭连接x25sm240067pfr.132-gsmtp
2020-10-12 08:12:31连接:关闭
消息已成功发送 如何只在屏幕上打印消息而不是整个操作 controllers/sendmail.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
class sendmail extends controller{
function __construct(){
parent::__construct();
}
public function sendMail(){
$name = $_POST['firstname'].$_POST['lastname'];
$email = $_POST['email'];
$dob = $_POST['birthdate'];
// echo "name :".$name."<br>email :".$email."<br>Dob :".$dob."<br>";
$mail = new PHPMailer(true);
// SMTP SETTING
// server setting
$mail->isSMTP();
$mail->Mailer = "smtp";
$mail->SMTPDebug = 3;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->Host = 'smtp.gmail.com';
$mail->Username = 'example@gmail.com';
$mail->Password = '*********';
//$mail->SMTPSecure = 'ssl';
//$mail->Port = 465;
//email setting
$mail->isHTML(true);
$mail->setFrom('example@gmail.com','Admin');
$mail->addAddress($email,$name);
$mail->Subject = 'Testing mail service';
$mail->Body = "Hello user, your details is :<br>FullName :". $name.", Email :".$email.", Dob : ".$dob;
$mail->AltBody = 'Body in plain text for non-HTML mail clients';
if(!$mail->send()){
echo "Something went wrong<br>".$mail->ErrorInfo;
}
else{
echo "Message has been sent successfully";
}
}
}
?>
模板/索引.tpl
<div class='modal' id='myModal'>
..............
<form id="signupForm" action="" method="post">
.............
</form>
</div>
<script type="text/javascript">
$('#signupForm').on('submit',(function(e){
e.preventDefault();
var userFormData = $('#signupForm').serialize();
// alert("Name :"+fname+" "+lname+"\nEmail :"+email+"\nDob :"+dob+"\nmobile :"+mobile+"\ngender :"+gender+"\npass :"+password);
$.ajax({
type : 'POST',
url : "{$FULL_PATH}sendmail/sendMail",
data: userFormData,
success: function(result){
console.log(result);
if(result.success)
{
$('.messageCallme').show();
$('.messageCallme').html("Contacted Successfully");
}
else
{
$('.errorMessageCallme').show();
$('.errorMessageCallme').html("Contact failed");
}
}
});
}));
</script>
..............
.............
$('signupForm')。关于('submit',(函数(e){
e、 预防默认值();
var userFormData=$('#signupForm').serialize();
//警报(“姓名:“+fname+”+lname+”\n邮箱:“+email+”\n邮箱:“+dob+”\n手机:“+mobile+”\n发件人:“+SEXT+”\n密码:”);
$.ajax({
键入:“POST”,
url:“{$FULL_PATH}sendmail/sendmail”,
数据:userFormData,
成功:功能(结果){
控制台日志(结果);
如果(结果、成功)
{
$('.messageCallme').show();
$('.messageCallme').html(“联系成功”);
}
其他的
{
$('.errorMessageCallme').show();
$('.errorMessageCallme').html(“联系失败”);
}