`
zysoo
  • 浏览: 28144 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

在rails中用actionmailer发送mail,使用smtp发送,gmail为server的方法

阅读更多

#最近被关于邮件发送问题搞的比较郁闷。

Rails的邮件发送,有三种方式,test,sendmail,smtp.

本人比较推荐smtp的方式,使用gmail来发送。好处是,不用自己配置smtpserver。如果你不可以上网(难道你来至二十世纪?),实施上,我在公司通过代理上网,那么测试gmail作为smtp服务器是不可以的,会报错,如果你遇到smtp方式发送邮件,想想看你是不是通过代理上网。

具体方式:

<!---->1.       <!---->enviroment.rb文件中,提价如下代码

require 'smtp_tls'#下面会说这句话的原因<o:p></o:p>

ActionMailer::Base.delivery_method = :smtp <o:p></o:p>

ActionMailer::Base.default_charset = "utf-8"<o:p></o:p>

ActionMailer::Base.server_settings = {<o:p></o:p>

:address => "smtp.gmail.com",<o:p></o:p>

:port => 587, <o:p></o:p>

:authentication => :plain,<o:p></o:p>

:user_name=> "your_gmail­_account",<o:p></o:p>

:password => "your_gmail_password"<o:p></o:p>

}

上面的代码是显然的。

<!---->2.    <!---->require 'smtp_tls'<o:p></o:p>

加上面这句,是因为gmail需要ssl方式来登录,rubylibNet:SMTP TLS不支持,那么需要修改一下。网上好像方法不少,我的做法:

下载smtp_tls.rb文件,这是Anatol Pomozov写的代码。可以在下面看到

http://www.koders.com/ruby/fid0BDA90145299691DD1B308E7252B492780BE1B55.aspx?s=socket

然后在你的项目中找个地方放一下,我放在controller文件夹中。

<!---->3.       <!---->然后就可以发送mail

<!---->4.       <!---->其他的通过actionmailer如何发送,请自己查看相关的文档。

很多时候,等问题解决了,回头看起来是多么的简单。或许生活也是这样吧。

这个问题解决的过程花了很长时间,主要是没有合适的网络,bs一下。需要直连到网络上。事实上,如果你设置代理上网,gem安装的时候需要设置set http_proxy=xxxx

查看了很多的文档,谢谢你们的文章,谢谢各位评委,谢谢主办单位,谢谢CCTV,谢谢导演,谢谢爸爸妈妈老婆儿子二大爷三大妈四大叔。。。。

最后感谢javaeye上的http://thegiive.iteye.com  ,最后看了你的文档的时候解决了问题。:P

分享到:
评论
3 楼 SeeYou&me 2008-09-13  
文中:ActionMailer::Base.server_settings = {
好像应该是:ActionMailer::Base.smtp_settings = {
否则会出错

2 楼 zysoo 2008-07-16  
山顶洞人 是谁?:x 
1 楼 wscc111 2008-05-28  
注意要加上感谢山顶洞人!!

相关推荐

    sparkpost_rails:ActionMailer的Sparkpost传递方法

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

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

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

    rails配置sqlserver2000

    在Ruby on Rails框架中,与SQLServer 2000集成可能会比与其他常见的数据库系统(如MySQL或PostgreSQL)稍复杂一些,因为SQLServer 2000的兼容性问题和缺少官方支持。然而,通过一些第三方库和适当的配置,我们仍然...

    Ruby-MailForm直接从Rails的表单发送电子邮件支持I18n验证附件和请求信息

    MailForm库是专门为简化这一过程而设计的,它允许开发者直接从Rails的表单中发送邮件,并且提供了I18n(国际化)支持、验证功能以及添加附件和请求信息的能力。这个库由Plataformatec开发,其最新版本为bd43996。 ...

    rails本地安装包完整版

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

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件.zip

    mail_form, 在 Rails 中使用 i18n 验证附件和请求信息,直接从表单发送电子邮件 MailForm Rails 3这个 gem 构建在 ActiveModel 之上,展示如何从 Rails 中提取验证。命名和 i18n,而不需要自己实现。本自述文件指的...

    Rails实现的简历系统

    配置SMTP服务器信息后,ActionMailer可以与Gmail、SendGrid等服务集成,实现邮件的可靠发送。 综上所述,这个简历系统涵盖了Rails开发中的多个重要方面,从用户交互(图片上传、验证码)、数据管理(查询、分页、...

    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' ...

    rails 3.2 API

    Rails 3.2提供了更灵活的模板引擎选择,如ERB(Embedded Ruby)和Haml,同时也支持局部变量和助手方法的使用,便于在视图中插入动态内容。 3. **ActionMailer**:用于发送电子邮件的工具,允许开发者方便地创建和...

    使用ActionMail发送邮件

    在Ruby on Rails框架中,ActionMail是用于发送电子邮件的一个核心组件。它允许开发者方便地创建、格式化并发送电子邮件,而无需直接与SMTP服务器交互。本篇将详细讲解如何使用ActionMail来实现邮件功能。 首先,...

    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数据库交互。 综上所述,这...

    Ruby on Rails 指南 v5.0.1 中文版

    - **发送邮件**:指导如何使用ActionMailer发送邮件。 - **接收电子邮件**:说明如何配置应用接收电子邮件。 - **ActionMailer回调**:介绍ActionMailer中的回调机制。 - **使用ActionMailer辅助方法**:展示如何...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在终端中输入`rails new project_name -v=2.2.3`,其中project_name替换为你的项目名称。 4. **数据库配置**:Rails默认使用SQLite数据库,但你可以根据需求更改到MySQL或PostgreSQL等。修改`config/database.yml`...

    rails 邮件支持

    开发者可以轻松地创建Mailer类,定义邮件方法,使用模板定制邮件内容,并通过配置SMTP服务器实现实际发送。此外,邮件预览功能为开发过程带来了便利,确保了邮件的正确显示。了解并熟练掌握这些知识点,将有助于在...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    rails3-railsconf2010

    ActionMailer是Rails中用于发送邮件的组件。在Rails 3中,它引入了一些新的特性,如: - **Hidden Default**:可能是指默认行为的调整,让邮件发送更加符合现代电子邮件协议的要求。 - **Test Mechanics**:改进...

    rails2.3.2gem本地安装包及使用说明

    Rails 2.3.2 是一个古老的 Ruby on Rails 框架版本,它在 Ruby 社区中曾经广泛使用。Gem 是 Ruby 的包管理器,用于安装和管理各种库和框架,包括 Rails。如果你无法通过网络升级或安装 Rails,可以采用本地安装包的...

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

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

Global site tag (gtag.js) - Google Analytics