笔者近来正在使用ruby编写数据检查的脚本,由于需要将检查结果发送给指定的管理员,所以就写了一个专门发送email的脚本。
定有很多不足之处,望各位多提宝贵意见!
可以指定发送内容,
也可以指定发送文件,系统会自动将文件中的内容读取,然后发送
require "net/smtp"
# params :
# ARGV[0] = subject
# ARGV[1] = content
# ARGV[2] = filename
# ARGV[3] = to
def sendemail(subject,content,to=nil)
from = "info@163.com"
to = ["system1@163.com","system2@163.com"] if to.nil?
sendmessage = "Subject: "+subject +"\n\n"+content
smtp = Net::SMTP.start("mail.163.com",25)
smtp.send_message sendmessage,from,to
smtp.finish
end
def sendemail_file(subject,filename,to)
content = ""
File.open(filename) do |file|
file.each_line {|line| content += "#{line}\n" }
end
sendemail(subject,content,to)
end
subject = ARGV[0] || "system autoly send"
content = ARGV[1] || ""
filename = ARGV[2] || ""
to = ARGV[3]
if content.to_s == "" and filename.to_s!=""
sendemail_file(subject,filename,to)
else
content = "Nothing" if content.to_s == ""
sendemail(subject,content,to)
end
e.g.
例如将文件保存为sendemail.rb)
ruby sendemail.rb subject ok
ruby sendemail.rb subject "" filename.txt system3@163.com
分享到:
相关推荐
"sendEmailTest.rar"这个压缩包显然包含了一个实现此类功能的Java代码示例。在Java中,我们通常使用JavaMail API来处理邮件发送。这个API提供了一系列接口和类,允许开发者创建、配置和发送邮件。下面我们将深入探讨...
send_email.py
标题 "email_send_test.rar_email-test.php_php email_php 邮件_send_email.p" 提供的信息表明,这是一个关于使用PHP发送电子邮件的示例项目。描述中提到"简单的邮件收发实例,基于PHP环境,基础学习",说明这个压缩包...
本示例“SendEmailTest.rar”提供了一个简单的Java程序,用于演示如何使用Java发送电子邮件。通过学习这个程序,我们可以掌握Java邮件API的基础知识。 JavaMail API是Java平台上的一个标准API,它允许程序员通过...
标题 "VB .NET OUTLOOK SEND EMAIL.zip_vb email_vb.net" 暗示这是一个关于使用Visual Basic .NET (VB.NET)通过Microsoft Outlook发送电子邮件的教程或代码示例。描述 "send mail via outlook" 确定了这个主题是关于...
理解如何使用`eval`、`class_eval`和`instance_eval`,以及如何利用`send`和`method_missing`进行消息传递,是提升Ruby编程技巧的关键。 《ruby23.chm》文档可能是整个Ruby语言的综合指南,可能包含前面几个文档的...
bot.send_text('这是来自Ruby的钉钉消息') ``` 总的来说,Ruby-DingTalkBot为Ruby开发者提供了与阿里钉钉自定义机器人互动的便利工具,它降低了对接钉钉API的复杂度,让开发者能更专注于业务逻辑的实现,提升工作...
1. **方法定义与调用**:Ruby允许在运行时定义和修改方法,如`define_method`函数可以动态创建方法,而`send`或`__send__`则用于在运行时调用方法。 2. **类与模块操作**:Ruby的`Class.new`和`Module.new`可以用来...
5. **元编程**:Ruby的元编程能力强大,如`send`方法、类方法定义、`class_eval`、`instance_variable_get/set`等,这些工具使得Ruby代码能自我修改和扩展。 6. **Ruby on Rails框架**:虽然书名未提及,但Ruby与...
根据给定文件的信息,这里似乎存在一定的混淆,因为文件内容主要涉及的是IBM Lotus Domino 7邮件服务器的配置指南,而非“Ruby元编程”。不过,基于您的需求,我将重点围绕“Ruby元编程”这一主题来生成相关的知识点...
此外,Ruby的`send`方法可以动态调用方法,`method_missing`可以捕获未定义的方法调用。 Ruby的Gem库是其生态系统的一大亮点,提供大量的第三方库和框架,如Rails(一个流行的Web开发框架)、Sinatra(轻量级Web...
3. **消息发送**:`send`或`__send__`方法可以动态地调用其他方法,这使得你可以根据条件或数据来决定调用哪个方法。 4. **反射API**:Ruby提供了一系列的反射API,如`Class#methods`,`Module#constants`,`Object...
最后,使用Transport类的send方法将邮件发送出去。 以下是一个简单的Java代码示例,演示了如何使用QQ邮箱发送邮件: ```java import javax.mail.*; import javax.mail.internet.*; public class SendQQEmail { ...
smtp.send_message message, 'your-email@example.com', 'recipient-email@example.com' end ``` 请注意,实际应用中应考虑错误处理和异常捕获,以确保在遇到问题时能优雅地处理。此外,SMTP服务器通常要求安全...
send_email_attachment
【标题】"SendEmailTest.rar_邮箱 eclipse"指的是一个基于Eclipse开发的Android应用程序,用于测试邮件发送功能。这个程序允许用户将手机上的联系人导出为CSV(逗号分隔值)文件,并通过电子邮件发送到指定地址。...
此外,`Object#send`方法允许动态调用对象的方法,而`instance_variable_set/get`则用于动态设置和获取实例变量。 5. **元类(Meta-class)**:每个Ruby对象都有一个元类,存储了对象的实例方法。元类的概念使得...
1. **通过SMTP发送Email** SMTP是互联网上用于传输电子邮件的标准协议。在Ruby中,可以使用内置的`Net::SMTP`库来实现邮件发送。清单1展示了如何创建并发送一封邮件的方法。关键步骤如下: - 定义全局变量,如`...