2013-02-27 108 views
2

從鏈接中,我想打開用戶的默認郵件應用程序,附帶一個附件,以及'收件人'字段爲空,以及主題和正文中的一些預填充文本。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

回答

0

你可以用很少的方法做到這一點。一種方法是直接定義附件:

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

相關問題