用户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;
相关推荐
perl smtp 发送邮件 自动发送邮件
perl 写的发邮件smtp perl 写的发邮件smtpperl 写的发邮件smtp
一个perl发送邮件的脚本: 功能: mailto.pl -s Subject -t To -f file-... -s 指定主题 -t 指定接收人,多人以,分隔 -f 邮件内容,发之前放在文件中 ... 注: 1、使用Net::SMTP发送邮件 2、本工具不支持发送附件!
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 模块,可以开发支持SMTP发送邮件的程序,比较简单直接,使用腾讯SMTP.QQ.COM 测试通过。
Mojo-电子邮件-检查器-SMTP 使用 Mojo 环境通过 smtp 检查电子邮件。 use strict;use Mojolicious::Lite;use Mojo::IOLoop::Delay;use Mojo::Email::Checker::SMTP;my $checker = Mojo::Email::Checker::SMTP->new;...
mail-dmarc:Mail :: DMARC,Perl中的完整DMARC实现
离线安装包,亲测可用
第7章 SMTP:发送邮件 第8章 POP,IMAP和NNTP:处理邮件和网络新闻 第9章 Web客户 第3部分 开发TCP客户/服务器 第10章 创建子进程的服务器和inetd守护进程 第11章 多线程应用程序 第12章 多路复用应用程序 ...
安装PERL模块: sudo cpan LWP::UserAgent URI JSON Email::Send::SMTP::Gmail Config::General 以config.ini.example作为模板,创建文件config.ini并根据您的喜好更正配置 创建一个cron作业以定期向您发送邮件 ...
perl-Net-SMTP-SSL
也有些用perl的NET::SMTP和Authen::SASL模块发信的,不过我perl用的不好,老发出些莫名其妙的邮件来(比如if(a>1){print(a);},最后邮件里的显示的是0.99……);最后采用sendEmail这个成型的perl程序发信报警,而...
离线安装包,亲测可用
这是一个基于openresty的smtp实现,从luaSocket的smtp.lua模仿而...邮件内容部分,实现比较简单,仅支持简单的文本,适用于网站发验证码之类的应用,暂不支持附件扩展 lib: conf/smtp.lua test: conf/sendCheckMail.lua
1.下载commit-email.pl ...因为Perl通过SMTP发送邮件,其中SMTP验证的时候需要Authen::SASL模块。 如果没安装此模块,则会提示如下错误:SMTP Error:Need MIME::Base64 and Autuen::SASL todo auth。
jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...
net-server-mail:STMP协议及其不同演变的可扩展Perl实现(即:ESMTP,LMTP)
另外,您还需要安装Email :: Send :: SMTP :: Gmail perl模块:cpan install Email :: Send :: SMTP :: Gmail 要在您的计算机上成功运行该程序,请确保perl脚本与可执行文件位于同一文件夹中。 去做 提供基本界面...
APMServ集合了Apache稳定安全的优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、虚拟目录、端口更改、SMTP、上传大小限制、自动全局变量、SSL证书制作、缓存性能优化等设置,...
Nginx 是一个 安装非常的简单 , 配置文件 非常简洁(还能够支持perl语法), Bugs非常少的服务器: Nginx 启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动. 你还能够 不间断服务的...