zoukankan      html  css  js  c++  java
  • 单独使用ActionMailer作为邮件发送器为迩的程序发送报告

    原文在这里:http://stackoverflow.com/questions/4951310/actionmailer-3-without-rails

     OK、先把整个代码都贴出来先、新建一个send_mailer.rb、其实名字随便起、不要紧、写下如下的代码、

     1 require 'action_mailer'
    2
    3 ActionMailer::Base.raise_delivery_errors = true
    4 ActionMailer::Base.delivery_method = :smtp
    5 ActionMailer::Base.smtp_settings = {
    6 :address => "smtp.gmail.com",
    7 :port => 587,
    8 :domain => "gmail.com",
    9 :user_name => "user_name",
    10 :password => "password",
    11 :authentication => "plain",
    12 :enable_starttls_auto => true
    13 }
    14
    15 ActionMailer::Base.view_paths= File.dirname(__FILE__)
    16
    17 class ES < ActionMailer::Base
    18 default :from => "from@gmail.com"
    19
    20
    21
    22 def confirm
    23
    24 @var = "your name"
    25 mail(:to => "to@gmail.com", :subject => "testing mail") do |format|
    26 # format.html
    27 format.text
    28
    29 end
    30 end
    31
    32 end
    33
    34 ES.confirm.deliver

    然后再在该rb文件的同一个目录下新建一个目录、名为es、在es文件夹下新建confirm.text.erb

    然后再写些冬冬吧、随便填没问题、以下内容其实就是迩邮件的body部分

    his is an text email
    and this is a variable <%= @var %>

    这里使用了一个变量@var、其实这个变量就是从es类那里继承的变量、传递过来的、

    下面讲讲为什么是es目录而不是其它、因为基于ActionMailer的内置规则、继承于ActionMailer::Base类的子类名、就是放置模版文件夹的名称、因为

    莪定义了一个ES类、当然就是es文件夹了、当然、迩写成ES文件夹都冇问题、

    class ES < ActionMailer::Base

    呢度有点规则命名迩需要记住下、如果迩嘅类名係EsdfKjj、那么对应嘅文件夹名称就係esdf_kjj、觉得规则麻烦嘛、觉得麻烦勒、莪都觉得麻烦、迩如果唔想理咁多、直接运行程序报错、程序会讲明响边度揾唔着只文件模版、咁迩就按住佢嘅报错嘅路径重新起过条名啦、


    从第三行到第十三行就唔使讲啦、基本都係ActionMailer嘅配置、迩如果唔识睇翻本站响Rails用ActionMailer发邮件嘅文章、跟住第十五行果度、係指明模板嘅位置、File.dirname(__FILE__)嘅意思就係文件所在目录果度揾模版文件夹

     然之后ES类就係继承类啦、基本成只都係rails嘅内容就唔讲了、跟住25-27行就讲明要读取html同埋txt格式嘅模板、也就係confirm.html.erb或者

    confirm.text.erb、注意、只能用一种格式、莪注释佐html格式援用text嘅



  • 相关阅读:
    windows7使用(2)软件安装及系统优化
    Lucene.net搜索——初识lucene
    只好代码不好色,嫁人当嫁IT男!
    数据库生成word说明文档
    搬家到cnblogs,请多关照
    轻量级的数据交换格式——初识Json(上)
    Flex之Hello world
    Flex之Hello world
    Flex之Hello world
    在 Visual C++ 中控制全局对象的初始化顺序,#pragma init_seg(compiler)
  • 原文地址:https://www.cnblogs.com/klobohyz/p/2234983.html
Copyright © 2011-2022 走看看