Мне нужна помощь с шаблонами электронной почты. У меня есть html-шаблон с тремя встроенными изображениями в нем. Я использую платный модуль проверки подлинности и пытаюсь настроить почтовую программу по умолчанию. Шаблон отлично работает как отдельная веб-страница, но по какой-то причине неправильно рисует изображения. Я могу либо получить прикрепленные изображения, но не сделать inline, или вообще не прикреплять.Шаблоны электронной почты в Ruby on Rails
Во всяком случае, почтовая программа выглядит следующим образом:
class UserMailer < ActionMailer::Base
def signup_notification(user)
setup_email(user)
@subject << 'Please activate your thredUP account'
@body[:url] = "#{APP_CONFIG[:site_url]}/activate/#{user.activation_code}"
end
def activation(user)
setup_email(user)
@subject << 'Your account has been activated - Welcome to thredUP!'
@url = APP_CONFIG[:site_url]
@user = user
content_type "text/html"
attachment :content_type => "image/gif", :body => File.read("#{Rails.root}/public/images/email/bottom-border.gif")
attachment :content_type => "image/gif", :body => File.read("#{Rails.root}/public/images/email/top-border.gif")
attachment :content_type => "image/png", :body => File.read("#{Rails.root}/public/images/email/footer.png")
attachment :content_type => "image/png", :body => File.read("#{Rails.root}/public/images/email/logo-lid.png")
render :layout => 'standard'
end
protected
def setup_email(user)
@recipients = "#{user.email}"
@from = APP_CONFIG[:admin_email]
@subject = "[#{APP_CONFIG[:site_name]}] "
@sent_on = Time.now
@body[:user] = user
end
end
Я также построил шаблон следующим образом:
<html>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" bgcolor='#EFEFEF' >
<table width="100%" cellpadding="10" cellspacing="40" border="0" class="backgroundTable" bgcolor='#EFEFEF' >
<tr>
<td valign="top" align="center">
<table width="600" cellpadding="0" cellspacing="0">
<tr>
<td style="padding-bottom:15px;"><img src="cid:logo-lid.png"> </td>
</tr>
</table>
<table width="600" cellpadding="0" cellspacing="0">
<tr>
<td><img src="cid:top-border.gif"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td style="padding:20px;">
<%= yield %>
</td>
</tr>
<tr>
<td><img src="cid:bottom-border.gif"></td>
</tr>
<tr>
<td style="text-align:center; padding-top:15px;">
<img src="cid:footer.png">
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
ok Я попробую это. Думаю, я помню, что в свои дни окон, чтобы утверждать загрузку изображений на стороне сервера. Я предполагаю, что это изменилось? – chrishomer
Я не могу говорить для каждого клиента, но именно так большинство служб рассылок, похоже, справляются с этим, и это работает. –
Многие клиенты блокируют размещенные изображения по умолчанию [по уважительным причинам], но большинство разрешают встроенные (прикрепленные) изображения. – sandstrom