2012-12-24 86 views
0

我試圖發送一個HTML電子郵件,這本質上只是一個巨大的圖像給我們的用戶。到目前爲止,我沒有嘗試過任何幻想。我的看法如下所示:ActionMailer,發送帶有背景圖片的電子郵件

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 
    <style type="text/css"> 
     body { 
     background-image: url('https://s3.amazonaws.com/my-bucket/image.png'); 
     background-repeat: repeat-y no-repeat; 
     background-color: #333; 
     margin: 0; 
     padding: 0; 
     } 
    </style> 
    </head> 
    <body> 
    </body> 
</html> 

我不完全關注其對所有郵件客戶端這項工作,但主要的將是巨大的。當我使用ActionMailer發送這封電子郵件時,我只是收到一條空的消息。至少在gmail web客戶端中,看起來不像圖像正在被應用。

任何建議將是偉大的。我也希望能夠將整個圖像點擊到iTunes商店鏈接上,但是當我將圖像展示出來時,我會找到那個部分。

+0

什麼是您的文件的名稱?您的郵件程序是否僅使用文本? – simonmorley

+0

ActionMailer可與文本和文本/ html一起使用。 – randombits

+0

我確信它的確如此。當您僅使用文本時,電子郵件模板是否會發送? – simonmorley

回答

0

你確定你的文件是公開的嗎?嘗試直接訪問URL。 如果不是,您必須將其標記爲可在您的亞馬遜桶中公開訪問。

以下是我們對S3(.erb文件)的圖像郵寄的一個片段,它工作正常:

Dear <b><%= @card.first_name %></b>, 
<br/><br/> 
Thank you for being a member with us since <strong><%= @card.start_date.strftime("%d %b %Y") %></strong>. 
<br/><br/> 

... 

Warm Regards, 
<br/> 
Team MyCompany 
<br/><br/> 
<% if Settings.show_banner_image_in_email %> 
    <div style="text-align:center;"> 
    <a href="<%= Settings.website_url %>"> 
     <img src="http://cdn2.mywebsite.com/images/EmailFooterBanner.jpg" width="590px" height="118px" /> 
    </a> 
    </div> 
<% end %> 

<b>Happy to Help!</b> 
<br/>Voice: 23424234242342 
<br/>E-mail: <a href="mailto:[email protected]">[email protected]</a> 
<br/>Web: <a href="<%= Settings.website_url %>"><%= Settings.website_url %></a> 
<br/> 

編輯: 如果您在app /郵寄模型被稱爲UserMailer,您必須將您的郵件視圖存儲在一個名爲「user_mailer」的文件夾下。那是當它被拿起。

+0

這絕對是公衆可以訪問的,經過多次驗證。 – randombits

+0

編輯我的原始答案,提到視圖必須存儲在視圖下的特定文件夾中。檢查是否解決了問題。我在你的問題上模擬了你的問題,並且這個文件夾中的視圖被ActionMailer拾取。 –

相關問題