如何在我的电子邮件中插入Gravatar图像

时间:2015-08-27 20:07:35

标签: ruby-on-rails image email html-email gravatar

如何在我想用Ruby on Rails发送的电子邮件中插入我的gravatar图像?根据Gravatar我需要在Ruby on Rails应用程序中插入以下代码:

image_src = "http://www.gravatar.com/avatar/#{hash}"

哈希本质上是电子邮件地址的编码字符串。哈希等于:

hash = Digest::MD5.hexdigest(email_address)

我创建了一个名为" gravatarurl"的方法,您可以在下面看到:

def gravatarurl
  hash = Digest::MD5.hexdigest("myemail@google.com")
  puts "http://www.gravatar.com/avatar/#{hash}"
end

现在,邮件中的代码是:

def emailwithphoto
  @user1 = User.find(1)

  mail(to: "#{@user1.email}",
    from: "MNC@mydomain.com",
    subject: "Attempting to include image in this email")
end

在文件app / views / image_mailer / emailwithphoto.rb中我有代码:

<img alt="" src="<%= @user1.gravatarurl %>" class="mcnImage">

如果我将我的gravatar url硬编码到文件&#34; emailwithphoto.rb&#34;然后我可以看到我的gravatar照片,但我需要电子邮件是动态的。

我错过了什么或没看到什么?提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我更改了方法gravatarurl中的代码。我更改了“put”并将其替换为“return。这是方法gravatarurl的新代码:

def gravatarurl
  hash = Digest::MD5.hexdigest("myemail@google.com")
  return "http://www.gravatar.com/avatar/#{hash}"
end

现在我可以在电子邮件中使用Gravatar图像了。

答案 1 :(得分:0)

您应该gravatarurl模型中有user,然后拨打@user1.gravatarurl而不是@image1.gravatarurl