2015-02-05 2 views
0

레일 4.0.8에서 메일을 보내기 시작했는데 html 메일을 보낼 수 없지만 메일러의 HTML보기를 만들었지 만 텍스트/일반으로 실행 중입니다. 누군 데 메일러 방법은 다음과 같다 (customer_mailer.rb)레일에서 html 메일을 보낼 수 없습니다. 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 => message'을 (를) 제거했을 때 작동을 시작했습니다.

+0

은 내가'돈 – 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 부분을 가질 수 없다는 것을 기억해야합니다. 검사가 기본적으로로 development.rb`config.action_mailer.perform_deliveries = TRUE '에서 지정한 것처럼

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

아니요, 나는 "customer .welcome_mailer (params, current_user, customer_params) " –

+0

실제로 메일이 제대로 도착하지만 텍스트/일반 형식이 필요합니다. html 형식이 필요합니다. –

+0

고객/메일러 모델 방법에 붙여 넣기 만하면 문제가 해결됩니다. content_type"text/html " –