转载 使用Rails来发送Email. Rails Mailer概貌

本文介绍如何使用Rails框架发送电子邮件,包括生成邮件程序、定义邮件模板、发送邮件等步骤,并提供了本地测试所需配置。

使用Rails来发送Email. Rails Mailer概貌
1. script/generate mailer postoffice
2. 对你的邮件程序生成一个方法(models/postoffice.rb)
3.生成你自己的邮件template, 使用welcome.text.html.erb 和welcome.text.plain.erb (views/postoffice)
4. 发送信息
5.如果你进行本地php?name=%B2%E2%CA%D4" onclick="tagshow(event)" class="t_tag">测试,确定postfix在运行。

打开你的终端:
add3-imac: jon$ rails mailer_example
    -- output truncated --

add3-imac: jon$ cd mailer_example/

add3-imac:mailer_example jon$ script/generate mailer postoffice
  exists app/models/
  create app/views/postoffice
  exists test/unit/
  create test/fixtures/postoffice
  create app/models/postoffice.rb
  create test/unit/postoffice_test.rb

现在我们为邮件程序生成一个方法:
class Postoffice < ActionMailer::Base 
# located in models/postoffice.rb
# make note of the headers, content type, and time sent
# these help prevent your email from being flagged as spam

 def welcome(name, email)
  @recipients = "jon@addthree.com"
  @from   = params[:contact][:email]
  headers   "Reply-to" => "#{email}"
  @subject  = "Welcome to Add Three"
  @sent_on  = Time.now
  @content_type = "text/html"

  body[:name] = name
  body[:email] = email   
 end

end
现在我们已经产生了我们的方法,需要改变template:
# located in views/postoffice
# we can access the variables we declared in models/postoffice.rb
# body[:name] = name is accessed by @name
# body[:email] = email is accessedby @email

# welcome.text.html.erb
# note the HTML
<p>Welcome to AddThree <i><%= @name %></i>. </p>

<p>The address we have on file for you is <b><%= @email %></b>, please let us know if this is incorrect.</p>

# welcome.text.plain.erb 
Welcome to AddThree <%= @name %>. The address we have on file for you is <%= @email %>, please let us know if this is incorrect.

现在我们的邮件和template都已经准备好了,让我们发送邮件吧:
class Registration < ApplicationController
# controllers/registration_controller.rb
# assume the Registration controller already existed
# assume @user.name and @user.email have been declared

 def send_welcome_email
  # triggered via:
  # http://localhost:3000/registration/send_welcome_email

  # note the deliver_ prefix, this is IMPORTANT
  Postoffice.deliver_welcome(@user.name, @user.email)

  # optional, but I like to keep people informed
  flash[:notice] = "You've successfuly registered. Please check your email for a confirmation!"

  # render the default action
  render :action => 'index' 
 end


end

如果您进行本地测试,确定postfix在运行
add3-imac:mailer_example jon$ sudo postfix start
Password:
postfix/postfix-script: starting the Postfix mail system

Sorry, no time to modify the codes to text style

thanks to http://www.jonathansng.com/ruby- ... end-email-tutorial/
by jonathan, and thanks to jonathan

学生社团系统-学生社团“一站式”运营管理平台-学生社团管理系统-基于SSM的学生社团管理系统-springboot学生社团管理系统.zip-Java学生社团管理系统开发实战-源码 更多学生社团系统: SpringBoot+Vue学生社团“一站式”运营管理平台源码(活动管理+成员考核+经费审批) Java学生社团管理系统开发实战:SSM升级SpringBoot(招新报名+场地预约+数据看板) 基于SpringSecurity的社团管理APP(移动端签到+权限分级+消息推送) 企业级社团数字化平台解决方案(SpringBoot+Redis缓存+Elasticsearch活动搜索) 微信小程序社团服务系统开发(活动直播+社团文化墙+成员互动社区) SpringBoot社团核心源码(多角色支持+工作流引擎+API接口开放) AI赋能社团管理:智能匹配兴趣标签+活动热度预测+成员贡献度分析(附代码) 响应式社团管理平台开发(PC/移动端适配+暗黑模式+无障碍访问) 完整学生社团系统源码下载(SpringBoot3+Vue3+MySQL8+Docker部署) 高校垂直领域社团平台:百团大战系统+社团星级评定+跨校活动联盟 适用对象:本代码学习资料适用于计算机、电子信息工程、数学等专业正在做毕设的学生,需要项目实战练习的学习者,也适用于课程设计、期末大作业。 技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 核心管理:社团注册、成员管理、权限分级 活动运营:活动发布、报名签到、场地预约 资源服务:经费申请、物资管理、文档共享 数据分析:成员活跃度、活动效果评估、社团影响力排名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值