我正在尝试企业发送电子邮件,然后在wordpress页面中提交表单 . 我能够成功完成AJAX部分并发送电子邮件 . 但是,电子邮件不是100%交付的 . 我想知道为什么?
这是代码
var data = {};
data.donorEmail = $("#email").val();
data.action = "mail_action";
$("#donorSubmit").click(function(e){
$.post('http://www.myurl.com/wp-admin/admin-ajax.php',data, onSuccess);
});
function onSuccess(results)
{
if( results == "00")
document.forms['donorForm'].submit() // After the email is sent then submit the form to another website.
}
这是functions.php中的代码
add_action('wp_ajax_mail_action', 'sending_mail');
add_action('wp_ajax_nopriv_mail_action', 'sending_mail');
function sending_mail(){
if(isset($_POST['email']))
{
$to = "myemail@mydomain.com";
$subject = "Donation";
$message = $_POST['email'];
if(mail($to, $subject, $message))
{
echo "0";
}
}
}
使用此代码,我会一直收到电子邮件 . 但是,应该是用户电子邮件的电子邮件内容并不随时随附电子邮件 . 有时它只是一个空白的内容 .
1 回答
如你所见:
vardata = {'donorEmail':$('#email').val(),'action':'mail_action' };
但是在你的php文件中你要求
$_POST['email']
而不是$_POST['donorEmail'];
尝试调用
$_POST['donorEmail'];