为什么可以';我用Perl';s网络::SMTP?
我过去经常自动处理电子邮件。如果有人在Outlook中使用电子邮件,我希望收到通知我使用了以下内容:为什么可以';我用Perl';s网络::SMTP?,perl,email,outlook,Perl,Email,Outlook,我过去经常自动处理电子邮件。如果有人在Outlook中使用电子邮件,我希望收到通知我使用了以下内容: $smtp->datasend("Disposition-Notification-To: to.me\@domain.com"); 电子邮件已成功发送,但Outlook客户端未收到通知 以下是代码片段: $smtp = Net::SMTP->new("my mail host"); $smtp->mail("my\@adress.com); $smtp->to("
$smtp->datasend("Disposition-Notification-To: to.me\@domain.com");
电子邮件已成功发送,但Outlook客户端未收到通知
以下是代码片段:
$smtp = Net::SMTP->new("my mail host");
$smtp->mail("my\@adress.com);
$smtp->to("someuser@domain.com");
$smtp->data();
$smtp->datasend("Disposition-Notification-To:my\@adress.com");
$smtp->datasend("blah balh");
$smtp->datasend();
$smtp->quit;
Outlook客户端代理可能未正确设置以侦听这些事件。你能用另一种方法给它发邮件吗?您需要确定是侦听器还是发送器有问题 如果您可以在Outlook中接收邮件,但不能从您的代码接收邮件,那么是您的代码出了问题。请在您的问题中包含更多上下文代码——例如,$smtp对象是如何构造的?您正在制作一个
$smtp->dataend()代码>根据以下步骤调用
编辑(包括一些代码后):代码中有一个输入错误;你使用的是严格使用;使用警告代码>在脚本或模块的顶部?您可以通过其他方式接收发送给客户的邮件吗
Edit2:如果您只缺少通知,那么您可能应该深入查看Outlook文档,了解接收此类通知的标准。e、 g.您可能需要提供一个有效的“日期:”标题。您需要在最后一个标题和消息的实际正文之间包含一个空行
您似乎还缺少标题前缀后的空格
我猜其中之一就是阻止Outlook正确解释标题
试试这个:
$smtp->data();
$smtp->datasend("From: my\@address.com");
$smtp->datasend("To: my\@address.com");
$smtp->datasend("Subject: test mail");
$smtp->datasend("Disposition-Notification-To: my\@adress.com");
$stmp->datasend("\n");
$smtp->datasend("blah blah");
$smtp->dataend();
$smtp->quit;
SMTP模块对于这类东西来说是非常低级的。使用更高级别的模块会更轻松。也许Outlook要求返回到页眉的回执(非标准,但您毕竟要发送到Outlook)。我从代码中收到Outlook上的电子邮件,但没有收到通知。email::Send在其CPAN页面中似乎已被弃用,请改用email::Sender。。。