2010-06-08 1 views
1
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", '[email protected]', folks 
end 


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

когда HTML является очень большим, я получаю это исключениеРубин Большого HTML письмо получает сообщение об ошибке, чтобы ограничить размер заголовка

Emailing Отправки ошибок - 552 5.6.0 Заголовков слишком большие (32768 макс)

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

ответ

0

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

+0

Я отправлю электронное письмо только 1 человеку –

1

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

0

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

  1. "552 5.6.0 Заголовки слишком большой"

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

  2. Заголовки должны быть разделены «\ r \ n», а не только «\ n». Попробуйте исправить эту часть вашего кода.

0

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

Без этого все было в заголовке.

MIME-Version: 1.0 
Content-type: text/html 
Subject: Nifty Report 
<body> 
<h1>some junk</h1> 
</body> 
Смежные вопросы