我的组织中的每个人都需要向群组中的其他人发送电子邮件。
由于会员数以百计,会员资格经常变化,因此使用传统的CPanel电子邮件转发方法是不切实际的。所以我想我会将电子邮件发送到php脚本,从数据库中获取所有成员的电子邮件地址(检查以确保原始发件人也在数据库中)并使用PHPMailer将电子邮件发送给所有成员。
我解析了PHP脚本中的标题,以获取From,Subject(当然将这些添加到PHPMailer),Content-Type和boundary。然后我在变量$ message中收集了实际的电子邮件消息,其中包括说明(在这种情况下)
的行“This is a multi-part message in MIME format.
--------------3D4FAACFC2C069EFCDAE6DC6, etc. (This is of course in text format.)
在PHPMailer Send命令之前,我包括:
$mail -> IsHTML(false);
// (I also tried not including this command at all – no change)
$mail->Body =$message;
$mail->addCustomHeader("Content-Type", $content_type . " boundary=" . $boundary);
$content_type and $boundary are the variables I parsed from the original header
由于这仍在开发中,我只将电子邮件发送到我的地址。它被正确接收和显示(普通和html都像往常一样),但被标记为垃圾邮件 - 收到的标题已将主题标记为垃圾邮件,所以我假设PHPMailer做到了。
我在收到的标题上注意到我的自定义标题显示正确:
Content-Type: multipart/alternative; boundary="------------3D4FAACFC2C069EFCDAE6DC6"
收到的标题还有另一个Content-Type:text / plain; charset = iso-8859-1之后,我假设PHPMailer添加了。也许两个内容类型是触发垃圾邮件标记的内容。然后我尝试添加$ mail-> header_remove(' Content-Type');在Body调用之后和addCustomHeader之前,但是附加的Content-Type:text / plain; charset = iso-8859-1仍然在收到的标题中,它仍被标记为垃圾邮件。
我正在使用PHPMailer版本5.2.22,并使用
$mail->IsSMTP();
, $mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
我不能继续不成功地进行实验,因为我担心发送大量垃圾邮件会让我遇到麻烦,所以我希望有人能说出我做错了什么,或者即使我的整体策略存在缺陷。我希望有一种方法可以获得PHPMailer在实际发送邮件之前要使用的标头。
注意:我的组织是一个资金很少的慈善团体,因此我们无法负担付费的SMTP。我尝试使用市场上某些产品的免费版本(不适用于上述项目)但是鉴于您使用共享IP与许多其他人使用免费服务,您经常会收到电子邮件,因为其他人共享您的IP已经垃圾邮件已标记
由于
答案 0 :(得分:0)
这是我从我的"转发到我的个人电子邮件(b ... @ .... com)的整个标题(我删除了一些内容只是为了让这个说明有点简短)电子邮件"使用每个人@ .... org作为起始地址的脚本。您可以通过$ mail-> addCustomHeader(" Content-Type",$ content_type。" boundary ="。$ boundary)看到我添加到PHPMailer的Content_Type;(这是multipart .. line)和一个PHPMailer本身添加(text / plain ...)。除了添加到主题行的垃圾邮件外,电子邮件收到了正确并正确显示:
From - Sat Mar 25 12:51:13 2017
STUFF
Return-Path: <everybody@....org>
Received: from dnvrco-pub-iedge-vip.email.rr.com ([107.14.70.244])
by dnvrco-fep06.email.rr.com
(InterMail vM.8.04.03.24 201-2389-100-172-20151028) with ESMTP
id <20170325165112.EUNA23395.dnvrco-fep06.email.rr.com@dnvrco-pub-iedge-vip.email.rr.com>
for <bmadder@...>; Sat, 25 Mar 2017 16:51:12 +0000
Return-Path: <everybody@....org>
Received: from [173.205.126.142] ...
Received: from ecbiz194.inmotionhosting.com .....
Date: Sat, 25 Mar 2017 12:51:01 -0400
To: b...@....com
From: everybody@....org
Message-ID: ...
Content-Type: multipart/alternative; boundary="------------3D4FAACFC2C069EFCDAE6DC6"
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse:...
X-Get-Message-Sender-Via: ecbiz194.inmotionhosting.com: authenticated_id: everybody@....org
X-Authenticated-Sender: ecbiz194.inmotionhosting.com: everybody@....org
X-Source:
X-Source-Args:
X-Source-Dir:
X-Authority-Analysis: v=2.1 cv=Od5ldUnY c=1 sm=1 tr=0 p=tHMjoff1TzQA:10 a=BPsZ5WN3F+ptBTNoNLYonA==:117 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=9+rZDBEiDlHhcck0kWbJtElFXBc=:19 a=6Iz7jQTuP9IA:10 a=FqPqrT7mAAAA:8 a=wuaQj91YKeLcW_I7NZUA:9 a=FtJ_xtNkBE-qfxEx:21 a=wPNLvfGTeEIA:10 a=yozH4VhRfl4A:10 a=M3AHoUkWFckA:10 a=fZGknuNN1LOydenUCIb6:22
X-Cloudmark-Score: 100
X-RR-Connecting-IP: 107.14.64.106:25
Subject: SPAM: Lots of work today
X-Brightmail-Tracker: AAAAARZYL6Q=
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrDqMTGxcIABLocC65FGFx/aGGx78B3FgdGj+Mv3jMFMEZx+OWXKAQXJOYmcGT07L7AVsBQAaIaGBlWMSqUlBYbF2cUJxYVF6RWGJjrpacW6xVX5ibmlaQm6yXn525ihJq+g3H7RZlTjJJS4ry3512LEBIoBpqYUQpUVxRfVJqTWvyKUZyDUUmYNxcky5OZV1KcmQ6TkeBgUhLhNdl4JUKIt7gkESEl1cDY81CZ25t3k/zUd21bd90/typmy6NtErw+Xs/YlXtk7atb4j4+/t6yoHDeJ3uN/kP1P7LrIiY5fFipZfynvvPJzbNfz943kPtyweqk3Tn/vpOfGIosVIpPxHht7j+Rl24XEH2vJa1o/q3fJRonvyxi6D4x60xlW8M/o0oLBlvjw4672ZjKQg2UWIozEg21mIuKEwGcu2V6TwEAAA==
This is a multi-part message in MIME format.
--------------3D4FAACFC2C069EFCDAE6DC6
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
This is the text message
--------------3D4FAACFC2C069EFCDAE6DC6
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>This is the text message <br>
</p>
</body>
</html>
--------------3D4FAACFC2C069EFCDAE6DC6--
答案 1 :(得分:0)
我现在有了解决方案。我没有使用$mail->addCustomHeader("Content-Type", $content_type . " boundary=" . $boundary);
行,而是将变量$ boundary附加到变量$ content_type并使用$mail->ContentType = $content_type;
我的邮件转发脚本现在与垃圾邮件标签完美匹配不再是问题。发送给最终收件人的标头不再具有MIME部分