我目前正在写一个音乐博客.管理员每2-3天发布一篇新文章.管理员发布文章后,将立即向大约5000个订阅者发送大量电子邮件.
实施群发邮件功能的最佳方法是什么?
以下功能是否有效?
function massmail()
{
$content = '...';
foreach ($recipients as $r) {
$_content = $content . '<img src="http://xxx/trackOpenRate.php?id='.$r.'">';
mail($r, 'subject', $_content);
}
}
Run Code Online (Sandbox Code Playgroud)
另一个问题:如果所有5000个订阅者都使用Yahoo Mail,雅虎会将其视为DDOS攻击并阻止我的SMTP服务器的IP地址吗?
Litmus上个月(2010年5月)发布了一项电子邮件分析服务.
见这里:http://litmusapp.com/email-analytics
它们拥有非常酷的"读取率"跟踪:它们可以跟踪正常读取,撇去和Glanced/Deleted.
他们如何跟踪撇去并浏览/删除?这对我来说似乎不可能:)
他们还跟踪前进和打印.打印很简单(它们包括带有bg图像的css @media打印查询).
但是前锋?我认为这可能是后续打开和不同IP /重用URL之间的组合.但是,这意味着如果我打开我的邮件并从另一台计算机重新读取它,它就算是一个转发.关于这个的任何想法?
总结一下: Litmus Email Analytics表示他们可以跟踪电子邮件阅读,浏览,浏览/删除,打印和转发.他们是如何做到的(撇去,扫视/删除和转发)?
跟踪代码: 这是代码.您为每个列表/广告系列组合创建了一个唯一代码(以便您可以跟踪广告系列..)然后将以下html/css代码放在电子邮件的标记之前.
<style>@media print{
#_t {
background-image: url('https://a6.emltrk.com/XX0000XX?p');}
}
div.OutlookMessageHeader, table.moz-email-headers-table, blockquote #_t {
background-image:url('https://a6.emltrk.com/XX0000XX?f')
}
</style>
<div id="_t"></div>
<img src="https://a6.emltrk.com/XX0000XX" style="display:none" width="1" height="1" border="0" />
Run Code Online (Sandbox Code Playgroud)
检测结果:
使用Gmail,打印跟踪有效.雅虎 不知何故失败了.Glances/Deleted实际上有效,我已经测试过了.
我们公司进行工作环境调查,这些调查在线填写.所有参与者都会通过电子邮件(包括个人代码)发送他们的调查链接.
我们的一些客户拥有数百名员工,有时还有数千名员工.
我们当前的解决方案是使用我们的SMTP服务器发送它,没有任何形式的限制(VB6,CDO).(所有收件人通常都在同一个域内"recipient@client.com")这不是一个好的解决方案,正如您可能想象的那样,这会触发客户端环境中的每个反垃圾邮件/防火墙/网守事件.我们事先与他们的IT部门联系,并让他们将我们的发送服务器和发件人邮件地址列入白名单.
我们遇到的最常见问题是:
有没有人有更好的方法来做这个?我们不能成为唯一发送合法群发电子邮件的公司吗?:)
我需要以编程方式将常规简报和小批量发送到10k强的邮件列表.
我们目前正在导出我们的列表,然后使用Campaign Monitor的Web界面来创建和发送新闻稿.Campaign Monitor很棒,但它太贵了.仅向整个列表发送一封电子邮件需要花费105美元,因为他们按"每个广告系列"收费,所以发送较小批量的邮件会更加昂贵.
我有两个要求:
我最好的选择似乎是使用SendGrid(或其他东西?).他们似乎给你一个SMTP服务器,他们担心要求1中的所有废话.如何实际使用它以编程方式发送电子邮件?循环列表和mail()?好像那样效率不高.如果您有使用SendGrid的经验,请分享.这仍然不是非常便宜 - 80美元/月 - 但比CM好.
或者,我应该开始将"云"视为一种解决方案.它似乎会更便宜 - 至少我会为我正在使用的东西买单,但它和你自己的一样吗?我是否必须担心要求1中的垃圾?
或者我完全错过了一些其他更简单的解决方案?我真的需要帮助可视化我的选择.
我们公司每天发送大量电子邮件,并计划在未来发送更多电子邮件.(成千上万)此外还有成千上万的群发邮件.
任何人都有使用hotmail,yahoo(web.de,gmx.net)和类似的网络邮件公司阻止你的电子邮件的经验,因为"在一段时间内来自同一来源的太多"已被发送给他们?
可以做些什么呢?在一整天/晚上传播电子邮件邮件?以什么速度?
(我们正在谈论合法的电子邮件,以确保...)
我的公司有一个用PHP构建的网站.我们使用内置的PHP电子邮件功能每天向订阅者发送数千封电子邮件.
这是一个糟糕的主意.它扼杀了我们的服务器,并花费数小时来完成整批.
现在我已经看过像MailChimp这样的群发邮件服务(它将取代我们当前向许多人发送同一封电子邮件的系统),但我认为我真正想做的是建立一个有点复杂的通知系统.
每次重要事件发生时,我都不希望向每个人发送大量电子邮件,而是希望客户能够自定义收到的电子邮件的费率和内容.
即使使用这个新想法,我们也在讨论发送大量电子邮件.
所以我的问题非常具体:我对如何在内部构建系统有一个大概的想法,但发送所有这些电子邮件的最佳方式是什么?
要考虑的要点:
思考?提示?指出我正确的方向?
编辑
澄清:
我可以自己做这些:
并需要其他东西(应用程序,第三方服务,w/e):
我倾向于第三方服务,因为我不确定任何应用程序可以避免在发送数千封电子邮件时窒息服务器(虽然我不认为自己是电子邮件专家,所以我可能是错的).
我们正在使用带有c#的asp.net 3.5.我们必须制作一个功能强大的邮件模块.这个模块可以邮寄超过15000个收件人或简称DBMS中的所有记录.我想问几件事.
1)我们有一个代码向单个收件人发送邮件.我们如何向多个收件人发送邮件.我尝试用我们的代码添加多个电子邮件ID','但它只发送第一个电子邮件ID.这是代码示例
public bool Mail(string to, string subject, string body)
{
try
{
MailMessage objEmail = new MailMessage();
objEmail.To =to;
objEmail.From = "Support@xyz.com";
//objEmail.Priority =priority
objEmail.Subject = subject;
objEmail.Body = body;
//enable the Html tag...
objEmail.BodyFormat = MailFormat.Html;
objEmail.Priority = MailPriority.High;
SmtpMail.SmtpServer = "localhost";
try
{
SmtpMail.Send(objEmail);
return true;
}
catch(Exception ex)
{
string error = ex.StackTrace;
return false;
}
}
catch
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
2)一次发送邮件的最大限制是多少.我们可以在字符串中为包含emailid的值分配多少值?
3)我们的代码在按钮点击中的一个主要内容是,如果我们有超过15000条记录,那么它是否能够发送到所有邮件因为我们所想的是该页面将有60秒进行渲染所以它可能只发送邮件那些ids封面在60秒.
让我们建议最好的方法是什么.
提前致谢.
我正在编写一个应用程序,需要向我们的学生发送大量的电子邮件,这些电子邮件将从我们的数据库中选出(每封电子邮件都将个性化,包括他们的姓名,课程等......所以需要一次发送一个).
我可以在SmtpClient上循环,但是我担心随着我想要发送的数字,我最终会遇到超时问题,或者我的线程由于缺乏机器资源而被杀死.
在这一点上,我只是在寻找更好的方法来处理这个问题的建议,或者如果循环使用SmtpClient是一个好的解决方案,我应该如何处理它以防止我在上面发布的内容.
Web服务是否会成为更好的选择?
请告知,TIA
我把一个非常好的群发邮件放在一起,但由于种种原因,偶尔邮件会在各种邮件提供商的垃圾邮件中结束.有没有人知道是否有关于发送群发邮件的最佳做法的任何地方?
我正在创建一个系统,其中会定期发送数千封电子邮件的列表,我知道mail()PHP 中的函数非常繁重,特别是如果同时调用它太多次.
我的系统工作方式大致是我在MySQL中创建电子邮件队列并使用25个批次发送它们mail(),从表中删除前25个发送的.我在每组25之间等待2秒.
这对服务器来说是否太费力了,或者我可以进一步推动它?可以说每秒50?或者有更好的方法可以在更短的时间内发送许多电子邮件,而不会牺牲服务器性能.
我有一个没有任何mail()通话限制的专用服务器.