Javascript 单击按钮以用PHP回复电子邮件
我有一张表格。当用户填写并提交时。它将向部门负责人发送一封附有表格附件的邮件。此电子邮件有两个按钮“批准”和“拒绝”。现在,当经理“批准”时,它应该回复批准消息和附件。但是,当他点击“拒绝”时,应回复“拒绝”消息。下面是我现在拥有的 PHP将应用程序发送给管理器。我正在使用PHP邮件 PHP 我创建了一个小的身份验证页面“auth.php”;包含在发件人的邮件中。 HTMLJavascript 单击按钮以用PHP回复电子邮件,javascript,php,email,Javascript,Php,Email,我有一张表格。当用户填写并提交时。它将向部门负责人发送一封附有表格附件的邮件。此电子邮件有两个按钮“批准”和“拒绝”。现在,当经理“批准”时,它应该回复批准消息和附件。但是,当他点击“拒绝”时,应回复“拒绝”消息。下面是我现在拥有的 PHP将应用程序发送给管理器。我正在使用PHP邮件 PHP 我创建了一个小的身份验证页面“auth.php”;包含在发件人的邮件中。 HTML 批准//以批准表为附件的回复 拒绝//答复“拒绝” 这是可以实现的吗?我想在internet和intranet上发送该
批准//以批准表为附件的回复
拒绝//答复“拒绝”
这是可以实现的吗?我想在internet和intranet上发送该应用程序。一些类似于此:
<form name="form1" method="GET" action="" onSubmit="return verify()">
<div>
<button class="bt" action="aprove">Approved</button> // Reply with approval form as attachment
<button class="bt" action="reject">Rejected</button> // Reply 'Rejected'
</div>
</form>
<script type="text/javascript">
$(document).ready(function() {
$(".bt").click(function(event) {
var action = $(this).attr("action");
$.ajax({
url: '/path/to/fileEmail.php',
type: 'POST',
dataType: 'json',
data: {action: 'action'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
});
});
});
</script>
<?php
//File fileEmail.php
$action = $_POST["action"];
if($action == "aprove"){
$message = "Some msg to aprove";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/aprove.pdf';
}else if($action == "reject"){
$message = "Some msg to reject";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/reprove.pdf';
}
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; // or 465
$mail->IsHTML(true);
$mail->Username = $_SESSION['member_name'];
$mail->Password = $_SESSION['member_password'];
$mail->SetFrom($_SESSION['member_name']);
$mail->Subject = "Application";
$mail->Body = $message;
$mail->AddAddress($memail);// Manager of the Department from DB
$mail->AddReplyTo($memEmail, "name"); // Reply mail
$mail->AddAttachment($attachment);
$mail->Send(header ('Location: login_succ.php'));
批准//以批准表为附件的回复
拒绝//答复“拒绝”
$(文档).ready(函数(){
$(“.bt”)。单击(函数(事件){
var action=$(this.attr(“action”);
$.ajax({
url:“/path/to/fileEmail.php”,
键入:“POST”,
数据类型:“json”,
数据:{action:'action'},
})
.done(函数(){
控制台日志(“成功”);
})
.fail(函数(){
控制台日志(“错误”);
});
});
});
给按钮赋予不同的值,然后检查哪个值被传递。好的,那么我应该在邮件之间嵌入PHP标记,并使用值来实现批准/拒绝。这是正确的吗?但是,我们如何通过单击批准来实现回复。单击“批准”时,邮件应作为答复发送。这样每个用户都可以申请批准,经理也可以相应地批准或拒绝。当我将Javascript放入PHP中时出现语法错误,它在Dreamweaver中显示。然而,如果我把它保持在外部,它就不会传递变量。我更新了。$(document).ready(function(){
)。打开和关闭标记。
<form name="form1" method="GET" action="" onSubmit="return verify()">
<div>
<button>Approved</button> // Reply with approval form as attachment
<button>Rejected</button> // Reply 'Rejected'
</div>
</form>
<form name="form1" method="GET" action="" onSubmit="return verify()">
<div>
<button class="bt" action="aprove">Approved</button> // Reply with approval form as attachment
<button class="bt" action="reject">Rejected</button> // Reply 'Rejected'
</div>
</form>
<script type="text/javascript">
$(document).ready(function() {
$(".bt").click(function(event) {
var action = $(this).attr("action");
$.ajax({
url: '/path/to/fileEmail.php',
type: 'POST',
dataType: 'json',
data: {action: 'action'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
});
});
});
</script>
<?php
//File fileEmail.php
$action = $_POST["action"];
if($action == "aprove"){
$message = "Some msg to aprove";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/aprove.pdf';
}else if($action == "reject"){
$message = "Some msg to reject";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/reprove.pdf';
}
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; // or 465
$mail->IsHTML(true);
$mail->Username = $_SESSION['member_name'];
$mail->Password = $_SESSION['member_password'];
$mail->SetFrom($_SESSION['member_name']);
$mail->Subject = "Application";
$mail->Body = $message;
$mail->AddAddress($memail);// Manager of the Department from DB
$mail->AddReplyTo($memEmail, "name"); // Reply mail
$mail->AddAttachment($attachment);
$mail->Send(header ('Location: login_succ.php'));
<a href="http://www.yoururl.com/fileEmail.php?action=aprove"></a>
<a href="http://www.yoururl.com/fileEmail.php?action=reject"></a>
<?php
//File in your server: http://www.yoururl.com/fileEmail.php
$action = $_GET["action"];
//Create a authentication for your user
$auth = someMethodToAuth(); //If ok, register the sessions to send email
if(!$auth){
die("You dont have permission to access this page!");
}
if($action == "aprove"){
$message = "Some msg to aprove";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/aprove.pdf';
}else if($action == "reject"){
$message = "Some msg to reject";
$attachment = $_SERVER['DOCUMENT_ROOT'].'/Application/PDF/reprove.pdf';
}
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; // or 465
$mail->IsHTML(true);
$mail->Username = $_SESSION['member_name'];
$mail->Password = $_SESSION['member_password'];
$mail->SetFrom($_SESSION['member_name']);
$mail->Subject = "Application";
$mail->Body = $message;
$mail->AddAddress($memail);// Manager of the Department from DB
$mail->AddReplyTo($memEmail, "name"); // Reply mail
$mail->AddAttachment($attachment);
$mail->Send(header ('Location: login_succ.php'));