Ich brauche Hilfe bei E-Mail-Vorlagen. Ich habe eine HTML-Vorlage mit drei eingebetteten Bildern darin. Ich verwende das Restful Authentication Plugin und habe versucht den Default Mailer anzupassen. Die Vorlage funktioniert hervorragend als eigenständige Webseite, wird aber aus irgendeinem Grund nicht richtig mit den Bildern gerendert. Ich kann entweder die Bilder anhängen, aber nicht inline rendern, oder die nicht anhängen.E-Mail-Vorlagen in Ruby on Rails
Wie auch immer das Mailer ist wie folgt:
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
Ich habe auch die Vorlage wie folgt aufgebaut:
<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 Ich werde versuchen, dass. Ich glaube, ich erinnere mich an meine Windows-Tage, ich musste den Download von Server-Side-Images genehmigen. Ich nehme an, das hat sich geändert? – chrishomer
Ich kann nicht für jeden Kunden sprechen, aber so scheinen die meisten Newsletter-Dienste damit umzugehen, und es funktioniert. –
Viele Clients blockieren gehostete Bilder standardmäßig [aus guten Gründen], aber die meisten erlauben inline (angefügte) Bilder. – sandstrom