Rails actionmailer打开主机电子邮件应用程序

问题描述:

从链接中,我想打开用户的默认邮件应用程序,附带一个附件,以及'收件人'字段为空,以及主题和正文中的一些预填充文本。Rails actionmailer打开主机电子邮件应用程序

使用ActionMailer,我能够从我的Gmail帐户发送它,但它不打开默认的电子邮件应用程序。这里是我的设置中的ActionMailer :: Base.smtp_settings:

ActionMailer::Base.smtp_settings = { 


    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "gmail.com", 
    :user_name   => "myname", 
    :password    => "mypassword", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

有没有办法来动态地做到这一点,HREF邮寄地址的方式做?

href mailto标签打开默认电子邮件,但我不认为您可以添加附件。

+0

该网站不支持。 – SLaks 2013-02-27 04:36:49

你可以用很少的方法做到这一点。一种方法是直接定义附件:

encoded_content = SpecialEncode(File.read('/path/to/filename.jpg')) 
attachments['filename.jpg'] = {:mime_type => 'application/x-gzip', 
           :encoding => 'SpecialEncoding', 
           :content => encoded_content } 

并与你的文件替换文件名,或者您可以使用这样定义的附件内联:

或者在你定义邮件:

def welcome 
    attachments.inline['image.jpg'] = File.read('/path/to/image.jpg') 
end 

并在视图中:

<p>Hello there, this is our image</p> 

<%= image_tag attachments['image.jpg'].url, :alt => 'My Photo', 
              :class => 'photos' %> 

您可以参考如何创建附件h ERE:http://guides.rubyonrails.org/action_mailer_basics.html

但是,如果你正在使用的Heroku你可以有一些困难 - 你可以看到,在这里:ActionMailer - How to Add an attachment?

编辑:

是的,你的问题,你把代码,弄得我什么是真正的问题。我现在相信你正在寻找这样的:

mail_to "[email protected]" 

查找参考:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-mail_to

你可以在这里找到的东西,如果你想预填充正文 Using mail_to with a block (mail_to ... do)

,并在这里添加图片,也许你可以找到一些有用的东西 rails: include html in a mail_to link

我刚刚从我的头上放了一个代码,我希望某种附加m飞行工作:

<%= mail_to("[email protected]", image_tag("email.gif")) %> 

我还没有尝试过这一切,但我希望事情会工作,或指导您好的方向

+0

谢谢,我想主要的问题是,我如何打开用户的默认电子邮件应用程序,填写一些字段,href mailto的方式?谢谢 – dt1000 2013-02-27 19:04:12

+0

谢谢,有一个问题让我有点困惑,当我看到粘贴的代码:)我已经更新了答案,我希望这可以帮助 – Aleks 2013-02-28 14:47:28