Javascript 单击按钮以用PHP回复电子邮件

Javascript 单击按钮以用PHP回复电子邮件,javascript,php,email,Javascript,Php,Email,我有一张表格。当用户填写并提交时。它将向部门负责人发送一封附有表格附件的邮件。此电子邮件有两个按钮“批准”和“拒绝”。现在,当经理“批准”时,它应该回复批准消息和附件。但是,当他点击“拒绝”时,应回复“拒绝”消息。下面是我现在拥有的 PHP将应用程序发送给管理器。我正在使用PHP邮件 PHP 我创建了一个小的身份验证页面“auth.php”;包含在发件人的邮件中。 HTML 批准//以批准表为附件的回复 拒绝//答复“拒绝” 这是可以实现的吗?我想在internet和intranet上发送该

我有一张表格。当用户填写并提交时。它将向部门负责人发送一封附有表格附件的邮件。此电子邮件有两个按钮“批准”和“拒绝”。现在,当经理“批准”时,它应该回复批准消息和附件。但是,当他点击“拒绝”时,应回复“拒绝”消息。下面是我现在拥有的

PHP将应用程序发送给管理器。我正在使用PHP邮件 PHP

我创建了一个小的身份验证页面“auth.php”;包含在发件人的邮件中。 HTML


批准//以批准表为附件的回复
拒绝//答复“拒绝”
这是可以实现的吗?我想在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'));