<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-167  評論-65  文章-0  trackbacks-0

    上一遍已經介紹了簡單的rails發送mail 的demo,這個demo介紹rails發送text/html格式的郵件

    預覽:

    image

    步驟:

    1,看我上遍的介紹安裝smtp_tls,然后在environment.rb最后中添加

    ActionMailer::Base.default_content_type = "text/html"

    2,model

    class Findpassword < ActionMailer::Base 
      def contact(recipient, subject, message)
        @subject = subject
        @recipients = recipient
        @from = 'no-reply@yourdomain.com'
        @sent_on = Time.now
          @body["title"] = 'This is title'
        @body["email"] = 'sender@yourdomain.com'
        @body["message"] = message
        @headers = {}
       # @headers = {content_type => 'text/html'}
      end
    end

    3,controller

    class FindpasswordController < ApplicationController
      def index
          render :file => 'app\views\findpassword\index.rhtml'
       end
      def sendmail
        email = params["email"]
          recipient = email["recipient"]
          subject = email["subject"]
          message = email["message"]
        puts recipient + subject + message
        Findpassword.deliver_contact(recipient, subject, message)
        return if request.xhr?
        render :text => 'Email send successfully'
      end

    end

    4,view

    views/findpassword/index.rhtml

    <h1>Send Email</h1>
    <% form_tag :action => 'sendmail' do %>
    <p><label for="email_subject">Subject</label>:
    <%= text_field 'email', 'subject' %></p>
    <p><label for="email_recipient">Recipient</label>:
    <%= text_field 'email', 'recipient' %></p>
    <p><label for="email_message">Message</label><br/>
    <%= text_area 'email', 'message' %></p>
    <%= submit_tag "Send" %>
    <%  end   %>

    views/findpassword/contact.rhtml

    Hi!
    You are having one email message from <font color="red"><%= @email %></font><br/>
    with a tilte <font color="red"><%= @title %></font><br/>
    and following is the message:
    <font color="red"><%= @message %></font><br/>
    please visit  website:
    <a href="http://www.tkk7.com/fl1429">http://www.tkk7.com/fl1429</a>
    Thanks

    5,發送郵件

    http://localhost:3000/findpassword/index

    注意點

    1,使用text/html格式發送郵件,不是通過@headers起到效果的,而是通過ActionMailer::Base.default_content_type = "text/html" 配置

    2,body部分可以

      @body["title"] = 'This is title'
        @body["email"] = 'sender@yourdomain.com'
        @body["message"] = message

    這么寫,也可以按照我上遍那樣寫成hash格式的

    3,還記得上一遍說道@from不起到作用,我還苦于在網上沒找到結果,突然我發現時如此的簡單,一般郵件都自帶設置發件人名稱的功能(在個人賬戶處),例如gmail的是下圖這樣設置的:

    image

    126的是這樣設置的:

    image

    收到郵件后就是這樣了,發件人處就是現實自己設置的名稱:

    image



    write by feng
    posted on 2009-05-04 18:40 fl1429 閱讀(972) 評論(2)  編輯  收藏 所屬分類: Rails

    評論:
    # re: Rails Send Mail Demo2[未登錄] 2009-05-18 19:04 | tingting
    Findpassword.deliver_contact(recipient, subject, message)
    我用的時候發現沒有這個方法哦,只有這個deliver方法呢  回復  更多評論
      
    # re: Rails Send Mail Demo2 2009-05-19 10:21 | fl1429
    deliver_contact contact方法在model里,send mail調用的時候必須這么寫!  回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: 色噜噜综合亚洲av中文无码| 亚洲精品动漫人成3d在线| 无码久久精品国产亚洲Av影片| 日本免费精品一区二区三区| 日本v片免费一区二区三区| 亚洲色大成网站www| 妞干网在线免费观看| 亚洲av无码专区在线电影天堂| 日韩电影免费在线| jzzijzzij在线观看亚洲熟妇| 国产精品免费看久久久无码| 婷婷亚洲综合五月天小说在线| 四虎国产精品免费视| 免费在线观看自拍性爱视频| 亚洲人妻av伦理| 中文字幕成人免费高清在线 | 日日麻批免费40分钟无码| 久久狠狠高潮亚洲精品| 99久久99这里只有免费费精品| 亚洲精品福利你懂| 日本免费一区尤物| 一级白嫩美女毛片免费| 亚洲精品无码成人片久久| 4399影视免费观看高清直播| 亚洲欧洲日韩极速播放| 亚洲AV成人潮喷综合网| 日韩免费观看一区| 亚洲精品伊人久久久久| 亚洲国产精品视频| 人妻无码一区二区三区免费| 亚洲欧洲免费无码| 久久久久亚洲AV成人网| 亚洲精品国产免费| 午夜亚洲乱码伦小说区69堂| 亚洲AV日韩精品久久久久久| 毛片免费观看网站| 91成人免费福利网站在线| 亚洲av乱码一区二区三区| 亚洲精品无码AV中文字幕电影网站| 免费成人在线电影| 亚洲AV无码国产精品永久一区|