`
cherest
  • 浏览: 965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Rails 3 邮件实例

阅读更多

环境:
     WIN7 X64
     Ruby 1.9.2p290
     Rails 3.2.3

 

在Rails 3中发邮件,与以往版本有许多不同,共有四个步骤,如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实例如下:


1、生成测试项目
     rails new mailit


2、生成测试scaffold user并跑起来
     rails g scaffold user name:string email:string
     rake db:create
     rake db:migrate
     rails s


3、设置通用的邮件信息
     在 config -> initializers -> setup_mail.rb
     其中内容为:
        ActionMailer::Base.smtp_settings = {
             :address                     => 'smtp.xxx.cn',
              :port                          => 25,
              :domain                     =>'xxx.cn',
              :authentication          => :login,
              :user_name                => 'webmaster@xxx.cn',
              :password                  => 'secrete',
              :enable_starttls_auto =>  true
          }
       ActionMailer::Base.default_url_options[:host] = "localhost:3000(或者是域名)"


     上面这句,在生产环境与开发环境中可能会不同,如果需要通过capstrano部署的话,需要修改environment环境中的development环境。
     ActionMailer::Base.default_url_options[:host] = "localhost:3000"

4、生成邮件_控制器映射关系
     rails g mailer user_mailer
     生成如下文件app -> mailers ->user_mailer.rb
     增加如下内容:
          default :from => "webmaster@datasource.cn'
          def registration_confirmation(user)
               mail(:to => user.email, :subject => 'Registered')
          end

 

5、建立邮件模板文件
     Text格式
          app->views->user_mailer-> registration_confirmation.text.erb
          内容
          Thank you for you registering!
     HTML格式
          app->views->user_mailer->Registration_confirmation.html.erb
          内容
               <p><%=  @user.name %></p>
               <p>Thank you for you registering!</p>
               <p>Edit profile: <%=  link_to "edit_profile",edit_user_url(@user) %></p>
     默认情况下,html的优先级高于text。

 

6、建立触发action
     文件user_controller -> create
     内容:
          if @user.save
          UserMailer.registration_confirmation(@user).deliver

 

 

参考视频:http://railscasts.com/episodes/206-action-mailer-in-rails-3?autoplay=true

 

0
2
分享到:
评论

相关推荐

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    第3章 安装Rails 15 3.1 购物清单 15 3.2 Windows上的安装 15 3.3 Mac OS X上的安装 17 3.4 Linux上的安装 17 3.5 选择Rails版本 18 3.6 开发环境 19 3.7 Rails和数据库 22 3.8 保持更新 23 3.8 Rails和ISPs 24 第4...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    tdd-rails-pluralsight:使用RSpec,Capybara和Cucumber以及Pluralsight课程学习Rails的TDD

    用生成的目录测试新动作并显示动作测试创建动作测试索引和编辑操作测试更新和销毁操作安装和设置Devise gem 测试认证测试授权模型测试模型的责任测试验证测试协会测试实例方法测试数据库查询隔离测试嘲笑,存根和...

    ITActionsManager-Rails-2021:应用程序Ruby on Rails可以管理在IT资源(PC,服务员,打印机)上完成的操作

    ITActionsManager-Rails-2021 Ruby on Rails中的应用程序代码可以使设备信息信息更加合理。 CAS-DAR RoR上的项目“ ITActionManager”中的内容存储库,其结果是2021年。应用说明应用程序“ ITActionsManager”可对...

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    email_controlled_christmas_tree

    只需向创建 Parse API 实例时返回的电子邮件地址发送一封电子邮件,其中包含 LED 的配色方案、LED 点阵的背景(也就是树顶的星星)以及 LED 点上显示的内容矩阵(一颗星星、一张笑脸、一些文字),所有这些都会立即...

    markety:将 Rails 与 Marketo SOAP API 轻松集成

    入门使用您的 Marketo SOAP 端点、用户 ID 和加密密钥实例化一个新的 Markety 客户端 client = Markety :: Client . new ( USER_ID , ENCRYPTION_KEY , END_POINT )# or, if using a workspace:client = Markety :: ...

    AisleInventory

    Rails项目组合由于可以使用此应用程序来记录企业的库存,因此我选择调整登录过程以增强应用程序的安全性。 虽然可以创建多个User实例,但只有“员工姓名缩写和密码”“属性”将与User.first实例的值有所不同; 用户...

    java开源包3

    Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...

    salesforce_http_client:用于从 salesforce.com 下载报告并另存为 CSV 格式的 HTTP 客户端

    它适用于任何 ruby​​ 应用程序,包括 Ruby on Rails。 您可以仅使用您的 salesforce 登录 ID(=电子邮件)和密码访问 salesfore.com。 不需要安全令牌。 数据将以 CSV 格式保存。安装将此行添加到应用程序的 ...

    zapier_ruby:通过 Ruby 发布到 Zapier webhooks

    这个 gem 对于简单的集成很有用,例如在 Rails 应用程序中发生事件时发布到 slack,或者在您的厨师部署完成后发送电子邮件。安装将此行添加到您的应用程序的Gemfile中: gem 'zapier_ruby' 然后执行: $ bundle或者...

    ereignishorizont:一个开放的事件记录系统,带有触发器,可以在事件匹配或不匹配时运行任意任务

    它的两个主要贡献者是Rails Girls Susanne和Tam,他们于2013年7月2日至9月30日在柏林办事处从事该项目。 特征 径赛项目 接收有关您选择的事件是否发生的电子邮件 安装 下载代码(或在本地派生/克隆)。 要将实例...

    haven:可自我托管的私人博客

    是一个简单的博客应用程序(以前称为SimpleBlog),它使用Ruby on Rails构建,具有一些激励人心的理念: 隐私至上。 这是为了与朋友和家人共享,而不是与商业伙伴共享。 如果您想要公司的博客,则可能要改用...

    stizun:Stizun在我们的网络商店后面,可能不应该被其他任何人使用

    Stizun是一个用Ruby on Rails编写的故意简化的电子商务解决方案。 主要特点: 独特的货运计算系统,用于没有自己的仓库但直接从供应商运送到他们的顾客的商店(及时)。 还可以计算一个订单中多个供应商的混合运输...

    Portus:Docker注册表(v2)的授权服务和前端

    波特斯| | | |邮件列表: 最后的稳定版本:2.4.3( 2.4 , 2.4.3和latest来自标签的) Portus是下一代Docker注册表的授权服务器和用户界面。 Portus面向Docker Registry API 。 注册表的最低要求版本为2.1,这是第一...

    java开源包1

    Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...

    java开源包2

    Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...

    java开源包6

    Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...

    java开源包5

    Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...

Global site tag (gtag.js) - Google Analytics