每次单击<a>
时,我都会向我的Outlook帐户发送电子邮件。我希望该消息具有单击链接的wordpress帖子的标题,但是,它不会打印在电子邮件中。它不承认获得帖子标题the_title();
。另一个问题是电子邮件正在进入垃圾邮件文件夹。
如何解决这个问题?
<a href="#" onclick="callFunction();">Report</a>
<script type="text/javascript">
function callFunction(){
<?php
$message = ''.the_title();
$to = "my@outlook.com";
$subject = "Expired post report";
$from = "reporting@website.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
?>
}
</script>
对于Javascript,客户端执行,要调用PHP函数,服务器端执行,你需要使用ajax创建一个非常小的API。如果你在项目中包含了jQuery,你可以将Javascript变量发送到PHP文件,并使用PHP发送邮件。
Javascript:
$.ajax({
type: "POST",
url: "path/to/file/mail.php",
data: {
message : "<?php echo the_title(); ?>",
subject : "Expired post report"
}
}).done(function( msg ) {
alert( msg );
});
PHP文件叫做mail.php:
$message = $_REQUEST['message'];
$to = "my@outlook.com",
$subject = $_REQUEST['subject'];
$headers = "From: reporting@website.com";
echo mail($to, $subject, $message, $headers);
mail() 如果成功,则返回 true,因此 Javascript 函数将提醒 true/false。