Ruby Большие сообщения электронной почты с ошибками, ограничение размера заголовка - PullRequest
1 голос
/ 08 июня 2010
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)

как я могу получить больший HTML выше максимального для работы с Net :: SMTP в Ruby

Ответы [ 4 ]

1 голос
/ 08 июня 2010

Это может быть не ограничение, налагаемое библиотекой, а ограничение, налагаемое службой, которую вы используете для отправки. Это зависит от того, насколько велик HTML-файл, о котором мы здесь говорим, но ваш почтовый сервер может просто не позволить вам отправлять такие большие файлы. Это, вероятно, не может быть решено с помощью простого программирования; вам придётся придумать креативное решение, например, отправить через другой сервис или разбить сообщение.

0 голосов
/ 23 февраля 2015

Я столкнулся с этим вопросом сегодня. Я решил это, добавив теги body к электронному письму в формате HTML.

Без них все уходило в шапку.

MIME-Version: 1.0
Content-type: text/html
Subject: Nifty Report
<body>
<h1>some junk</h1>
</body>
0 голосов
/ 08 июня 2010

2 быстрых наблюдения:

  1. "552 5.6.0 Слишком большие заголовки"

    это сообщение об ошибке SMTP. Он приходит с вашего SMTP-сервера, а не из вашего кода. Ваш код просто запутывается.

  2. Предполагается, что заголовки разделяются символом "\ r \ n", а не просто "\ n". Попробуйте исправить эту часть вашего кода.

0 голосов
/ 08 июня 2010

Я считаю, что это проблема с SMTP и отправкой этого электронного письма / сообщения. Попробуйте уменьшить количество людей, которым вы отправляете сообщение одновременно. Например, если вы отправляете сообщение 500 людям одновременно, то, возможно, вместо этого отправляете сообщение 50 разным людям (отправляя сообщение десять раз).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...