Ruby大型HTML电子邮件收到错误,限制标题大小

时间:2010-06-08 02:56:14

标签: ruby smtp

def mailTo(subject,msg,folks)
begin
Net::SMTP.start('localhost', 25) do |smtp|
  smtp.send_message "MIME-Version: 1.0\nContent-type: text/html\nSubject: #{subject}\n#{msg}\n#{DateTime.now}\n", 'person@domain.com', folks
end


rescue => e
    puts "Emailing Sending Error - #{e}"
  end
end

当HTML非常大时我得到了这个异常

通过电子邮件发送错误 - 552 5.6.0标题太大(最多32768)

如何在Ruby中使用Net :: SMTP

获得更大的html以上

4 个答案:

答案 0 :(得分:1)

这可能不是图书馆施加的限制,而是您用来发送的服务所施加的限制。它有点取决于我们在这里讨论的HTML文件有多大,但是你的邮件服务器可能根本不会让你发送大的东西。这可能无法通过简单的编程来解决;你必须提出一个创造性的解决方案,比如通过不同的服务发送或分解信息。

答案 1 :(得分:0)

我认为这是SMTP的问题并发送该电子邮件/消息。尝试减少您一次发送邮件的人数。例如,如果您要同时向500个人发送消息,则可以将消息一次发送给50个不同的人(发送消息十次)。

答案 2 :(得分:0)

2快速观察:

  1. “552 5.6.0标题太大”

    这是一条SMTP错误消息。它来自您的SMTP服务器,而不是您的代码。你的代码只是冒泡了。

  2. 标题应该由“\ r \ n”分隔,而不仅仅是“\ n”。尝试修复代码的这一部分。

答案 3 :(得分:0)

我今天遇到了这个问题。我通过在HTML电子邮件中添加正文标记来解决它。

没有这些,一切都进入了标题。

MIME-Version: 1.0
Content-type: text/html
Subject: Nifty Report
<body>
<h1>some junk</h1>
</body>