用户Perl写个脚本,使用Net::SMTP模块发邮件:
#!/usr/bin/perl -w
use warnings;
use utf8;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');
use JSON;
use MIME::Lite;
#use Net::SMTP_auth; #需要安装模块
use Net::SMTP;
use Data::Dumper;
use IO::Socket::SSL;
use Encode;
#use MIME::Base64;
###以腾讯企业邮箱为例###
#smtp邮件服务器和端口
my $smtpHost = 'smtp.exmail.qq.com';
my $smtpPort = '25';
my $sslPort = '465';
#smtp服务器认证用户名及授权码
# 授权码 设置 参考链接: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
my $username = 'xx@qq.com';
my $password = 'xxxxx'; # 授权码
my $from = 'xx@qq.com';
#获得邮件域名部分,用于连接的时候表名身份
my @hello = split /\@/,$from;
my ($REQ) = @ARGV; # 脚本的输入参数:json格式的字符串,包含 to(接收者邮箱地址),subject(邮箱标题),body(邮箱内容,可能是个网站链接)
my $result = "failed";
if (!$REQ) {
print $result;
exit;
}
#$json = JSON->new;
my $input_json = decode_json($REQ); #$json->decode($REQ);
if ($input_json->{obj} eq "mail" && length($input_json->{to})) {
my $datasend = "";
my $to = $input_json->{to};
my $subject = $input_json->{subject};
my $cc;
my $msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject=> $subject,
Type =>'text/html;charset=UTF-8', #设置成html格式,链接地址 会自动配上超链接
Data => $input_json->{body},
#Type =>'multipart/related',
);
$msg->attr("Content-Type" => "text/html;charset=UTF-8");
$msg->attr("Content-Transfer-Encoding" => "7bit");
my $smtp = Net::SMTP->new($smtpHost, Hello => $hello[1], Timeout => 10, SSL => 1, Debug => 1,);#采用SSl方式, 开启Debug => 1,
if ($smtp && $smtp->auth($username, $password)) {
#发送邮件
$smtp->mail($from);
$smtp->to($to);
$smtp->data();
$smtp->datasend(Encode::encode( "utf8", $msg->as_string ));
$smtp->datasend("\r\n");
$smtp->dataend();
$smtp->quit();
$result = "success";
} else {
$result = "auth failed";
}
}
print $result;
exit;
相关推荐
在IT行业中,Perl常被用来编写自动化脚本,其中之一就是通过SMTP(Simple Mail Transfer Protocol)发送电子邮件。SMTP是互联网标准,用于从一台邮件服务器向另一台邮件服务器发送邮件。下面将详细介绍如何使用Perl...
perl smtp 发送邮件 自动发送邮件
此外,一些邮件服务器可能需要SSL/TLS加密,这时可以使用`Net::SMTP::TLS`或`Net::SMTP::SSL`模块。 Perl发送邮件的功能非常灵活,不仅可以发送纯文本邮件,还可以添加附件、HTML内容以及多个收件人。通过学习和...
标题 "Net_SMTP-1.6.2.tgz" 指的是一个特定版本的 Perl 模块,Net::SMTP,被打包成 tarball 格式(tgz),版本号为 1.6.2。这个模块是 Perl 语言中用于发送 SMTP(Simple Mail Transfer Protocol)邮件的一个库。在 ...
3. **Mail**:Perl可以用来发送和处理电子邮件,例如使用Email::Sender或者Net::SMTP模块。这些示例可能涵盖如何构建和发送邮件,甚至处理邮件服务器的交互。 4. **AWS-S3**:Amazon S3是亚马逊提供的云存储服务。...
my $transport = Email::Sender::Transport::SMTP::TLS->new( host => 'smtp.qq.com', port => 587, username => 'your_username', password => 'your_password', ); ``` 5. 发送邮件:使用`sendmail`函数,...
my $ret = airNdrSendSmtpCmdSend($smtp, \&Net::SMTP::mail, $gIniParam{"SMTPRespTime"}, \$code, $mailf); ``` 这部分代码首先尝试创建一个`Net::SMTP`对象,并通过`airNdrSendSmtpCmdSend`子程序发送`hello`...
my $transport = Email::Sender::Transport::SMTP::TLS->new( host => 'smtp.example.com', port => 587, username => 'your_username', password => 'your_password', ); sendmail($email, { transport => $...
`Email::Sender`允许用户选择不同的SMTP策略,如`SMTP::Transport::TLS`支持安全的SMTP传输。 在Perl社区中,有许多插件可以增强邮件发送功能。例如,`Email::Sender::Plugin::SPF`可以检查发送者的SPF记录,防止...
《网络编程与Perl》这本书是Perl编程语言在网络应用领域的权威指南。它深入探讨了如何利用Perl来构建网络应用程序,处理网络协议,以及进行各种网络相关的任务。以下是对书中的主要知识点的详细阐述: 1. **Perl...
- **SMTP邮件**:Net::SMTP模块用于发送邮件。 8. **对象导向编程** - **类和对象**:Perl 5.6以后版本支持面向对象编程,可以定义类,创建对象。 - **继承**:子类可以通过`@ISA`数组实现对父类的继承。 - **...
Perl是一种强大的脚本编程语言,尤其在文本处理和系统...《Perl网络编程基础篇》可能是这样一个起点,它会引导你进入Perl在网络世界中的奇妙之旅。通过阅读和练习其中的示例代码,你将能够掌握Perl网络编程的基本技能。
FTP编程章节则涉及如何使用PERL的Net::FTP库进行文件传输,包括登录、上传、下载和目录管理等操作。这对于自动化文件同步或备份任务非常有用。 电子邮件系统部分,介绍了如何利用PERL的Email::Sender和其他相关模块...
7. Net::SMTP::SSL:如果你的SMTP服务器需要SSL连接,这个模块是必要的。 8. Email::Sender和Email::Simple:用于发送电子邮件。 9. Time::HiRes:提供高精度的时间函数,对性能敏感的代码有帮助。 10. Text::CSV...
这些模块支持多种传输协议,如SMTP、IMAP等。 - **垃圾邮件过滤**: Perl还支持开发复杂的垃圾邮件过滤机制,可以通过文本分析、关键字匹配等方式自动识别并过滤掉不需要的邮件。 #### 七、高效地创建、处理和分析...
一个perl发送邮件的脚本: 功能: mailto.pl -s Subject -t To -f file-... -s 指定主题 -t 指定接收人,多人以,分隔 -f 邮件内容,发之前放在文件中 ... 注: 1、使用Net::SMTP发送邮件 2、本工具不支持发送附件!
Net_SMTP库是Perl编程语言中的一个模块,主要用于实现SMTP(简单邮件传输协议)客户端功能。这个库使得Perl程序员能够方便地发送电子邮件,是构建邮件系统或者自动化邮件发送任务的关键组件。版本1.8.0代表了这个库...
my $msg=MIME::Lite->new( From=>$opt->{from}, To=>$opt->{to}, #Subject=>$opt->{subject}, Subject=>"=?UTF-8?B?" .encode_base64(encode("utf8", $opt->{...#$msg->send('smtp','wwww.maildir.cn',Debug=>0);
对于邮件处理,Perl的`Net::SMTP`模块允许创建SMTP客户端,发送电子邮件。这包括设置发件人、收件人,添加附件,以及处理认证和加密。 七、网络安全 Perl在网络编程中也考虑到了安全问题。`Crypt::SSLeay`和`IO::...
通过这个模块,Perl 程序可以方便地进行网络请求,包括 GET, POST, PUT 等方法,同时支持 SSL/TLS 加密和 cookie 处理,使得在 Perl 环境下编写网络客户端应用变得简单。 3. **Perl**: Perl 是一种高级的、通用的...