У меня есть контроллер ActionMailer, который должен отправить этот файл:
/user_mailer/welcome_email.text.erb
Это (пример) содержимое файла:
Welcome to znood.com, <%= @user.name %>
You have successfully signed up to znood.com,
Your username is: <%= @user.email %>.
To login to the site, just follow this link: <%= @url %>.
Thanks for joining and have a great day!
The Znood Team
[редактировать]
Это код в контроллере:
def sendmail
@user = User.first
UserMailer.welcome_email(@user).deliver
render "user_mailer/welcome_email.text"
#render the file to see what we're supposed to send
end
и это код в UserMailer
def welcome_email(user)
@user = user
@url = "http://znood.com/"
mail(:to => user.email, :subject => "Welcome to Znood!")
end
Это письмо, которое я получаю:
Welcometoznood.com,AbdoAchkarYouhavesuccessfullysigneduptoznood.com,Yourusernameis:blabla.Tologintothesite,justfollowthislink:http://znood.com/.Thanksforjoiningandhaveagreatday!TheZnoodTeam
Любая подсказка, как включить пробелы, возврат каретки и перевод строки?
[править]
После установки гема letter_opener в консоли я вижу следующее:
----==_mimepart_4ea9882a2735c_1c782d964bc18193
Date: Thu, 27 Oct 2011 19:34:50 +0300
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <4ea9882a2d8ee_1c782d964bc18277@lenovo-PC.mail>
Welcometoznood.com,AbdoAchkarYouhavesuccessfullysigneduptoznood.com,Yourusername
is:blabla.Tologintothesite,justfollowthislink:http://znood.com/.Thanksforjoiningandhaveagreatday!TheZnoodTeam
Я пытался изменить заголовки «Content-Transfer-Encoding», но они не изменились. Я также попытался установить для него значение по умолчанию. Похоже, мы застряли с 7-битной кодировкой.
[Изменено]
Другая проблема, которая должна помочь нам найти проблему, состоит в том, что я попытался передать следующие параметры функции mail, чтобы проверить, не является ли проблематичным средство визуализации файлов:
mail(:to => user.email, :subject => "Welcome to Znood!") do |format|
#format.text(:content_transfer_encoding => "base64")
format.text { render :text => "Hello there!" }
end
"Hellothere!" также вышло с разбором.
Затем я попробовал приведенный ниже код, чтобы убедиться, что это - функция рендеринга или mail, которая вызывает ошибки.
mail(:to => user.email, :subject => "Welcome to Znood!") do |format|
format.text { "hello there!" }
end
Также вышло с разбором.