Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我用Perl';s网络::SMTP?_Perl_Email_Outlook - Fatal编程技术网

为什么可以';我用Perl';s网络::SMTP?

为什么可以';我用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("

我过去经常自动处理电子邮件。如果有人在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("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。。。