我知道,在第一次看,许多用户标记为重复的问题,但在阅读超过10个问题后,我没有得到任何满意的答案,几乎所有的问题都有答案, “对此你没有太多可以做的事情。”,“我不确定”,“没有确定的投篮技巧”等等,这就是为什么我写这个问题,我认为这是非常普遍的问题和每个PHP开发人员都面临的问题它至少有一次,足够的演讲:),现在我的问题是...邮件作为垃圾邮件发送 - phpmailer,如何避免
我工作的项目管理应用程序,并使用phpmailer发送任何任务时创建任何任务或任何人的意见邮件发送邮件相关的用户,而不是在行动发生后马上发送邮件我已经创建了“通知”表w在这里我实际上保存了所有的邮件数据和一个cron脚本,然后发送所有的邮件,这里是我的cron脚本的一部分。
$query = "select * from notifications where 1 ";
$projects = $obj_basic->get_query_data($query);
if(!empty($projects))
{
foreach($projects as $data)
{
$message = html_entity_decode($data['content'], ENT_QUOTES);
list($ton, $email) = get_name_email($data['to']);
if(!empty($email))
{
$query = "select send_notification from users where email='$email' AND send_notification !='1' ";
$users = $obj_basic->get_query_data($query);
if(!empty($users))
{
$deleteQuery = "delete from notifications where id ='".$data['id']."'";
$obj_basic->run_query($deleteQuery, 'DELETE');
continue;
}
$comment_id = $data['reference_id'];
$attribute = $data['attribute'];
$mail = new PHPMailer();
list($fromName, $fromEmail) = get_name_email($data['from']);
if(!empty($comment_id) && $attribute == 'comment')
{
$fromEmail = '[email protected]';
}
$mail->SetFrom($fromEmail, $fromName);
$mail->AddReplyTo($fromEmail, $fromName);
$mail->AddAddress($email, $ton);
$mail->BouncedTo = $fromEmail;
$mail->IsHTML(true);
$mail->Subject = $data['subject'];
$mail->Body = $message;
$MessageID = "<".md5($comment_id.'_'.$email).'@changewebaddress.com>';
$mail->MessageID= $MessageID;
if($mail->Send()) {
if(!empty($comment_id) && $attribute == 'comment')
{
$query = "SELECT message_id FROM `project_comments` WHERE `id`='$comment_id'; ";
$project_comments = $obj_basic->get_query_data($query, 'SELECT');
if(!empty($project_comments))
{
$project_comments[0]['message_id'] = html_entity_decode(trim($project_comments[0]['message_id'], ","));
$query = "UPDATE `project_comments` SET `message_id`=CONCAT_WS(',', '".mysql_escape_string($project_comments[0]['message_id'])."', '".mysql_escape_string(html_entity_decode($MessageID))."') WHERE `id`='$comment_id'; ";
$obj_basic->run_query($query, 'UPDATE');
}
}
$deleteQuery = "delete from notifications where id ='".$data['id']."'";
$obj_basic->run_query($deleteQuery, 'DELETE');
}
}
}
}
按什么我已经测试一切看起来不错,因为我使用的PHPMailer它集所需的头还设置“返回路径:”和“回复到:”在标题中。
有没有在这个问题上
在何种意义上是“交付为垃圾邮件”? – Aya 2013-04-30 15:00:30
请先搜索重复项,尽管您使用了特定的库,但这是一个非常广泛的主题。所以先受到教育。 – 2013-04-30 15:02:09
不,你的问题不会成为现在或当时给这个问题一个明确答案的单一答案。不,相反,在你发现的十个问题中,你究竟尝试了什么,展示你的尝试的代码以及哪些不适合你?你需要概述一下,如果你真的想得到这个答案。 – 2013-04-30 15:03:09