2015-02-05 1 views
0

Я начал отправлять письма с rails 4.0.8, но я не могу отправлять html-письма, я создал html-представление для своей почтовой программы, но все же выполнял его как text/plain .my метод почтовой программы приведен ниже (customer_mailer.rb)Не удалось отправить html-почту из rails 4.0.8

def X customer, message, cust_mail, email_subject 
    subject = email_subject 
    mail_ids=cust_mail.to_s.split(",") 
    mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message 

    end 

мой взгляд HTML (X.html.erb)

<html> 
<body bgcolor="#D6A1A1"> 

<table width="100%" bgcolor="#D6A1A1" cellpadding="10" cellspacing="0"> 

</table> 

</body> 
</html> 

Я могу показать статические HTML-страницы и как я могу передать сообщение x.html.erb из метода X. Он начал работать, когда я удалил следующую строку: body = сообщение

+0

Подобно тому, как чек вы указали в development.rb 'config.action_mailer.perform_deliveries = true', как по умолчанию оно ложно – Sontya

+0

я надеваю» У меня есть эта строка кода в моем файле development.rb, я добавил эту строку в свой файл и попытался, но все же я столкнулся с той же проблемой –

+0

какая ошибка вы получаете? – Sontya

ответ

0

изменение

mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message 

в

mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message.html_part 

это

Эти методы будут просто угадать и найти первую часть составного сообщения либо текст/обычный или текст/html типа контента. CloudMailin также предоставляет эти методы удобства, но через params [: plain] и params [: html]. Стоит помнить, что в сообщении никогда не гарантируется наличие простой или html-части. Может быть, стоит использовать что-то вроде следующего, чтобы быть уверенным:

plain_part = message.multipart? ? (message.text_part ? message.text_part.body.decoded : nil) : message.body.decoded 
html_part = message.html_part ? message.html_part.body.decoded : nil 
+0

Нет, я использовал «клиент» .welcome_mailer (params, current_user, customer_params) « –

+0

да, я получаю почту правильно, но текстовый/обычный формат, мне нужно, чтобы в html-формате –

+0

Просто вставьте это в свой метод модели клиента/почтовой программы - это решит вашу проблему content_type" text/html " –

Смежные вопросы