我的远程Linux机器上有一个文本文件。我想通过电子邮件发送此文件。有没有简单的方法来编写代码。我们可以不使用Perl模块实现这一目标。请建议一个简单的代码来执行此操作。
use MIME::Lite;
$to = 'abcd@gmail.com';
$cc = 'efgh@mail.com';
$from = 'webmaster@yourdomain.com';
$subject = 'Test Email';
$message = 'This is test email sent by Perl Script';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Type => 'multipart/mixed'
);
$msg->attach(Type => 'text',
Data => $message
);
$msg->attach(Type => 'image/gif',
Path => '/tmp/logo.gif',
Filename => 'logo.gif',
Disposition => 'attachment'
);
$msg->send;
这里附件是gif文件.Is" From"强制性的???但是我如何添加文本文件。我没有使用Perl模块找不到解决方案
答案 0 :(得分:1)
它必须是perl吗?否则,一个非常简单的方法是使用Mutt,它预先安装在许多Linux发行版上。
$ mutt -s "Subject" -c "copy@mail.com" -a /tmp/attachedfile.txt "recipient@mail.com" < body.txt
如果它是更大的perl脚本的一部分,你仍然可以进行系统调用以从脚本中执行mutt。
system("/usr/bin/mutt [...]") or die("Sending email failed: $?");
答案 1 :(得分:0)
许多模块要求您的计算机上有邮件传输代理,例如sendmail。但我没有,所以我使用Mail::Sender。它具有良好的文档,AUTH,支持附件,并报告错误消息。
确保正确设置内容类型和编码。我正在发送XLS文件,因此编码是&#39; base64&#39;。
当然,您还需要一个SMTP服务器帐户。