gpt4 book ai didi

Perl EMAIL 依赖项

转载 作者:行者123 更新时间:2023-12-02 05:19:42 25 4
gpt4 key购买 nike

我正在尝试使用从中列出的示例来测试 perl 的电子邮件 http://learn.perl.org/examples/email.html .我在 Windows 7 上运行它。出于某种原因,Email::Sender::Simple 正在引用加载 Email::Sender 时未加载的其他模块。

如何加载这些模块以便加载所有依赖项而不在每个模块中搜索所有引用的包?目前我正在使用 ActiveState 和 ppm 安装。

use 5.14.2;
use strict;
use warnings;

# first, create your message
use Email::MIME;
my $message = Email::MIME->create(
header_str => [
From => 'you@example.com',
To => 'friend@example.com',
Subject => 'Happy birthday!',
],
attributes => {
encoding => 'quoted-printable',
charset => 'ISO-8859-1',
},
body_str => "Happy birthday to you!\n",
);

# send the message
use Email::Sender::Simple qw(sendmail);
sendmail($message);

当然,我可以转储 %INC,但输出包含大量模块。理想情况下,我想加载 Email::MIME 和 Email::Sender::Simple 并完成这项工作。

最佳答案

我建议使用 Mail::Sender ,您可以使用 ppm install Mail::Sender 在 ActivePerl 中安装它,在 Linux 中使用

安装它
sudo apt-get install libmail-sender-perl

这个模块非常通用,支持多个附件、内联、SMTP 密码验证(甚至包括 NTLM - 与 Exchange 服务器通信所必需的)。

这是一个使用 Mail::Sender 发送 HTML 邮件的例子:

use Mail::Sender;

my $sender = new Mail::Sender({
# provider may require using port 587:
smtp => "smtp.example.com",
# auth parameters below are optional
# and depend on provider requirements
auth => "LOGIN",
authid => $username,
authpwd => $password,
from => "myself@example.com",
});

$sender->Open({
to => "recipient@example.com",
cc => "anotherguy@example.com",
subject => "Subject line",
ctype => "text/html",
encoding => "7bit",
}) or die ($Mail::Sender::Error, "\n");

my $html = "<html><body>Test HTML content</body></html>";

$sender->SendEx($html)
or die ($Mail::Sender::Error, "\n");
$sender->Close();

print "Test message has been sent\n";

关于Perl EMAIL 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com