`

rails 发送电子邮件(ActionMailer)

阅读更多
1: 复制以下配置邮件的代码到environment.rb文件下面或者其他的环境文件中

ActionMailer::Base.default_charset = "utf-8"   #  设置发送邮件的内容的编码类型
ActionMailer::Base.default_content_type = "text/html"   # 发送邮件的默认内容类型
ActionMailer::Base.delivery_method = :smtp   # 以smtp邮件传送协议发送邮件
ActionMailer::Base.smtp_settings = {   # 邮件服务器的设置
    :address => "smtp.163.com",
    :port => 25,
    :domain => "163.com",
    :authentication => :login,
    :user_name => "zhangcaiyan0123@163.com",
    :password => "zhangcaiyan"
}

解释:
address:  SMTP邮件服务器地址
port:        SMTP邮件服务器端口
domain:              当识别自己是服务器时 mailer应该使用的域名
authentication:  邮件服务器验证方式(:plain,:login,或:cram_md中的一个。你的服务器管理员将帮助选择正确的选项。当前没使用TLS(SSL)来从Rails连接邮件服务器的方式。这个参数应该被忽略,如果你的服务器不要求确认。)
user_name:           邮件服务器的用户名称(如果:authentication被设置则要求有此)
password:           邮件服务器的用户密码(如果:authentication被设置则要求有此)
enable_starttls_auto:    打开ssl连接(true或false)



2:  ruby script/generate mailer email   创建名称为Email的mailer模型文件

3 :     在Email的mailer文件中创建发送邮件的方法:
def confirm(email)
    subject    "激活'我的生活'账户"
    recipients email
    from       'zhangcaiyan0123@163.com'
    sent_on    Time.now

    body       "欢迎加入‘我的生活’,我们致力于更加方便的生活,请点击激活账户"
  end

注意:

subject:    邮件标题
recipients :  邮件收件人地址
from:        邮件来源地址
sent_on:      邮件发送时间
body:        邮件具体内容


4:  发送邮件

email = Email.create_confirm("zhangcaiyan0123@163.com")   创建邮件实例
Email.deliver(email)     发送邮件

或者

Email.deliver_confirm("zhangcaiyan0123@163.com")  直接发送邮件


eg: gmail服务器的配置

config_file = "#{Rails.root}/public/config/smtp_gmail.yml"
config_options = YAML.load_file(config_file)

ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.default_content_type = "text/html"
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :authentication => :login,
    :enable_starttls_auto => true
}.merge(config_options)
分享到:
评论

相关推荐

    postmark-rails:官方集成库,用于将Rails和ActionMailer与Postmark HTTP API一起使用

    Postmark Rails Gem是ActionMailer通过发送电子邮件的插件。 该gem的创建旨在实现快速实施,并完全支持所有。用法请参阅以获取有关库功能的详细说明。 有关一般Postmark API的详细信息,请查看。要求您将需要设置一...

    mailgun-rails-example:使用 Mailgun 的 API 或 SMTP 使用 Ruby on Rails 发送电子邮件

    为了发送电子邮件,你可以使用ActionMailer,这是Rails内置的一个邮件发送系统。创建一个新的邮件类,例如`app/mailers/user_mailer.rb`: ```ruby class UserMailer default from: 'your-email@example.com' ...

    resque_mailer:Rails插件,用于通过ActionMailer和Resque发送异步电子邮件

    ResqueMailer 一个gem插件,允许ActionMailer准备的消息异步传递。 假设您正在使用进行后台作业。 请注意,Resque :: Mailer的最新(2.0+)版本仅适用于Rails 3.x或更高版本。 对于与Rails 2兼容的版本,在Gemfile中...

    rails 3.2 API

    3. **ActionMailer**:用于发送电子邮件的工具,允许开发者方便地创建和发送邮件。在Rails 3.2中,ActionMailer改进了配置和错误处理,使得邮件发送更加稳定可靠。 4. **ActiveRecord**:这是Rails的ORM(对象关系...

    rails2.3.8 && ruby1.8.7

    8. `actionmailer-2.3.8.gem`:ActionMailer用于发送电子邮件,是Rails中处理邮件发送的组件。 9. `sqlite3-ruby-1.2.0-mswin32.gem`:这是SQLite3的Ruby绑定,允许Ruby程序直接与SQLite3数据库交互。 综上所述,这...

    sparkpost_rails:ActionMailer的Sparkpost传递方法

    它提供了一个delivery_method基于SparkPost API,使越来越设置,并通过SparkPost在Rails应用程序相当简单发送电子邮件。 入门 将宝石添加到您的Gemfile gem 'sparkpost_rails' 然后运行bundle命令进行安装。 ...

    rails本地安装包完整版

    3. **actionmailer-2.1.0.gem**:ActionMailer使得在Rails应用中发送和接收电子邮件变得简单。它提供了一个抽象层,可以方便地创建、发送和接收邮件,同时处理SMTP服务器的配置和其他邮件相关的设置。 4. **...

    使用ResqueMailer和设备发送电子邮件的简单猴子补.zip

    总结来说,"使用ResqueMailer和设备发送电子邮件的简单猴子补.zip"的资源可能是为了演示如何在Rails应用中结合ResqueMailer和Devise实现高效的异步邮件发送。通过这种方式,你可以优化应用性能,提升用户体验,同时...

    ruby on rails api

    4. **ActionMailer**:用于发送电子邮件,支持生成和发送HTML或纯文本邮件。 5. **ActiveSupport**:提供了一系列有用的工具和库,如时间助手、字符串操作、哈希扩展等,增强了Ruby的基础功能。 6. **Routes**:...

    sendgrid-actionmailer:通过ActionMailer提供的Rails支持

    一个ActionMailer适配器,可使用SendGrid的HTTPS Web API(而不是SMTP)发送电子邮件。 与Rails 5和Sendgrid API v3兼容。 安装 将此行添加到您的应用程序的Gemfile中: gem 'sendgrid-actionmailer' 用法 为您的...

    heya:Heya :waving_hand: 是 Rails 的竞选邮件。 把它想象成 ActionMailer,但用于定时电子邮件序列。 它还可以执行其他操作,例如发送短信

    把它想象成 ActionMailer,但用于定时电子邮件序列。 它还可以执行其他操作,例如发送短信。 入门 开始使用 Heya 很容易: 安装 Heya gem 将此行添加到应用程序的 Gemfile 中: gem "heya" , github : "honey...

    ruby on rails 实例depot

    15. **ActionMailer**:Rails内置了ActionMailer,用于发送电子邮件。可以用来处理注册确认、密码重置等场景。 通过研究Depot项目,你可以深入了解Rails的工作原理,掌握Web开发的基本流程,并提升你的Ruby on ...

    Rails实现的简历系统

    8. **邮件发送**:Rails的ActionMailer模块允许开发者轻松地发送电子邮件。例如,当用户提交简历时,系统可以自动发送确认邮件。配置SMTP服务器信息后,ActionMailer可以与Gmail、SendGrid等服务集成,实现邮件的...

    rails 邮件支持

    它是Rails内置的一个组件,专门用于发送电子邮件。它的工作原理是通过创建一个名为Mailer的类,该类定义了如何构建和发送邮件。例如,你可以创建一个`UserMailer`类,包含`welcome_email`方法,用于发送欢迎邮件。 ...

    Beginning Rails 4

    - **发送邮件**:使用 ActionMailer 组件发送电子邮件。 #### 第11章:测试你的应用 软件测试是确保应用程序质量的关键步骤。本章介绍了如何使用 Rails 提供的各种测试工具来进行单元测试、集成测试和系统测试。 ...

    Ruby on Rails 指南 v5.0.1 中文版

    ### Ruby on Rails 指南 v5.0.1 中文版 #### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web...- **拦截电子邮件**:介绍如何在开发环境中拦截电子邮件。

    Ruby-Roadie试图让发送HTML邮件少一点痛苦通过内联样式表和重写相对URL在你的电子邮件中

    使用Roadie时,开发者可以轻松地将其集成到Ruby项目中,比如与ActionMailer(Rails的邮件发送工具)配合使用。只需要在配置好ActionMailer后,设置`:delivery_method`为`:roadie`,并指定基础URL,Roadie就会自动...

    rails-2.2.2.zip

    4. **ActionMailer**:提供了一种方便的方式发送电子邮件,支持创建邮件模板和处理邮件的发送逻辑。 5. **Routes**:Rails的路由系统将URL映射到控制器的方法,允许灵活的URL设计和资源导向编程。 6. **Rails ...

    rails 2.2.2 API

    11. **ActionMailer**:用于创建和发送电子邮件,提供了模板和简便的接口。 12. **ActiveSupport**:包含了一系列通用的 Ruby 工具和实用方法,如时间间隔、日期和时间处理、字符串格式化等。 13. **测试(Testing...

Global site tag (gtag.js) - Google Analytics