Perl-发送邮件

介绍

Perl 虽然是一门比较老的语言, 但功能齐全, 对于 Linux 用户而言, 说的上是一把利器, 这里介绍下用 Perl 语言连接 SMTP 服务器来发送邮件.

使用标准库中的 Net::SMTP

这里以 163 邮箱发送为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use strict;
use warnings;
use Net::SMTP;
use IO::Socket::SSL;
use Encode;

my $smtp = Net::SMTP->new('smtp.163.com', Port => 465, Timeout => 30, Debug => 1, SSL => 1);

if (!$smtp->auth('xxx@163.com', 'xxxx')) {
die "Authentication failed: " . $smtp->message;
}

my $msg = "hello";
$smtp->mail('xxx@163.com');
if ($smtp->to('xxx@qq.com')) {
$smtp->data();
$smtp->datasend("To: xxx\@qq.com\n");
$smtp->datasend("From: xxx\@163.com\n");
$smtp->datasend("Subject: Test Email\n");
$smtp->datasend("Content-Type: text/plain; charset=UTF-8\n");
$smtp->datasend("Content-Transfer-Encoding: 8bit\n");
$smtp->datasend("\n");
$smtp->datasend("$msg\n");
$smtp->dataend();
} else {
print "Error: ", $smtp->message();
}

$smtp->quit;

print "Email sent successfully!";

Perl-发送邮件
http://example.com/2024/09/24/Perl-发送邮件/
作者
Jie
发布于
2024年9月24日
许可协议