Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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:Net::SNMP不向gmail发送电子邮件,但正常';邮件-s';是_Perl_Email_Smtp_Gmail - Fatal编程技术网

Perl:Net::SNMP不向gmail发送电子邮件,但正常';邮件-s';是

Perl:Net::SNMP不向gmail发送电子邮件,但正常';邮件-s';是,perl,email,smtp,gmail,Perl,Email,Smtp,Gmail,我(在机器a上)编写了一个Perl脚本,将邮件发送到另一台服务器(机器B),服务器将邮件退回(使用procmail或其他转发机制,具体取决于机器B),然后机器a上的脚本测量往返时间 这在很长一段时间内工作正常,但由于某种原因,当机器B是GMAIL时,它就停止工作了 下面是我调试它的方式: 我试着从命令行使用“mail-s”发送一条类似的消息,邮件发送没有任何问题,因此邮件中继不是问题所在 mailbounce@machineA.com:~$mail -s 'Round Trip Test 136

我(在机器a上)编写了一个Perl脚本,将邮件发送到另一台服务器(机器B),服务器将邮件退回(使用procmail或其他转发机制,具体取决于机器B),然后机器a上的脚本测量往返时间

这在很长一段时间内工作正常,但由于某种原因,当机器B是GMAIL时,它就停止工作了

下面是我调试它的方式:

  • 我试着从命令行使用“mail-s”发送一条类似的消息,邮件发送没有任何问题,因此邮件中继不是问题所在

    mailbounce@machineA.com:~$mail -s 'Round Trip Test 1366102726' mailbouncexxxxx@gmail.com
    A simple test message From The Mail Round Trip Monitor...
    .
    cc:
    mailbounce@machineA.com:~$
    
  • 接下来,我将“to:”地址更改为我拥有的另一台机器,只是为了看看脚本是否有效。它在没有问题的情况下运行到另一台服务器(不是gmail)

  • 接下来,我将脚本恢复为原始参数。我在端口25上启动了一个tcpdump并运行了脚本,然后也使用命令行发送了邮件。在Wireshark中分析数据包捕获并执行“跟踪TCP流”时,输出如下:

  • 使用脚本(未交付):

        220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:58:36 +0200
        EHLO machineA.domain.com
        250-mail.out.com Hello machineA.domain.com [10.184.55.248]
        250-SIZE 13631488
        250-PIPELINING
        250 HELP
        MAIL FROM:<mailbounce@ machineA.domain.com>
        250 OK
        RCPT TO:<mailbouncexxxxx@gmail.com>
        250 Accepted
        DATA
        354 Enter message, ending with "." on a line by itself
        To: mailbouncexxxxx@gmail.com
        Subject: Round Trip Test 1366102726
    
        A simple test message From The Mail Round Trip Monitor...
        .
        250 OK id=1US1im-000Lr0-Qd
        QUIT
        221 mail.out.com closing connection
    
        220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:59:02 +0200
        EHLO machineA.domain.com
        250-mail.out.com Hello machineA.domain.com [10.184.55.248]
        250-SIZE 13631488
        250-PIPELINING
        250 HELP
        MAIL From:<mailbounce@machineA.domain.com> SIZE=635
        250 OK
        RCPT To:<mailbouncexxxxx@gmail.com>
        DATA
        250 Accepted
        354 Enter message, ending with "." on a line by itself
        Received: from machineA.domain.com (localhost.localdomain [127.0.0.1])
        .by machineA.domain.com (8.13.8/8.13.8) with ESMTP id r3G8x0jq015631
        .for <mailbouncexxxxx@gmail.com>; Tue, 16 Apr 2013 10:59:00 +0200
        Received: (from mailbounce@localhost)
        .by machineA.domain.com (8.13.8/8.13.8/Submit) id r3G8wxGJ015622
        .for mailbouncexxxxx@gmail.com; Tue, 16 Apr 2013 10:58:59 +0200
        Date: Tue, 16 Apr 2013 10:58:59 +0200
        From: mailbounce User <mailbounce@machineA.domain.com>
        Message-Id: <201304160858.r3G8wxGJ015622@machineA.domain.com>
        To: mailbouncexxxxx@gmail.com
        Subject: test2
    
        test
        .
        250 OK id=1US1jC-000LvF-OQ
        QUIT
        221 mail.out.com closing connection
    
    220 mail.out.com ESMTP Exim 4.74周二,2013年4月16日10:58:36+0200
    EHLO machineA.domain.com
    250-mail.out.com Hello machineA.domain.com[10.184.55.248]
    250号13631488
    250-流水线
    250帮助
    邮寄地址:
    250行
    RCPT至:
    250接受
    数据
    354输入消息,在一行上以“.”结尾
    致:mailbouncexxxxx@gmail.com
    主题:往返测试1366102726
    来自邮件往返监视器的简单测试消息。。。
    .
    250正常id=1US1im-000Lr0-Qd
    退出
    221 mail.out.com正在关闭连接
    
    使用命令行(成功交付):

        220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:58:36 +0200
        EHLO machineA.domain.com
        250-mail.out.com Hello machineA.domain.com [10.184.55.248]
        250-SIZE 13631488
        250-PIPELINING
        250 HELP
        MAIL FROM:<mailbounce@ machineA.domain.com>
        250 OK
        RCPT TO:<mailbouncexxxxx@gmail.com>
        250 Accepted
        DATA
        354 Enter message, ending with "." on a line by itself
        To: mailbouncexxxxx@gmail.com
        Subject: Round Trip Test 1366102726
    
        A simple test message From The Mail Round Trip Monitor...
        .
        250 OK id=1US1im-000Lr0-Qd
        QUIT
        221 mail.out.com closing connection
    
        220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:59:02 +0200
        EHLO machineA.domain.com
        250-mail.out.com Hello machineA.domain.com [10.184.55.248]
        250-SIZE 13631488
        250-PIPELINING
        250 HELP
        MAIL From:<mailbounce@machineA.domain.com> SIZE=635
        250 OK
        RCPT To:<mailbouncexxxxx@gmail.com>
        DATA
        250 Accepted
        354 Enter message, ending with "." on a line by itself
        Received: from machineA.domain.com (localhost.localdomain [127.0.0.1])
        .by machineA.domain.com (8.13.8/8.13.8) with ESMTP id r3G8x0jq015631
        .for <mailbouncexxxxx@gmail.com>; Tue, 16 Apr 2013 10:59:00 +0200
        Received: (from mailbounce@localhost)
        .by machineA.domain.com (8.13.8/8.13.8/Submit) id r3G8wxGJ015622
        .for mailbouncexxxxx@gmail.com; Tue, 16 Apr 2013 10:58:59 +0200
        Date: Tue, 16 Apr 2013 10:58:59 +0200
        From: mailbounce User <mailbounce@machineA.domain.com>
        Message-Id: <201304160858.r3G8wxGJ015622@machineA.domain.com>
        To: mailbouncexxxxx@gmail.com
        Subject: test2
    
        test
        .
        250 OK id=1US1jC-000LvF-OQ
        QUIT
        221 mail.out.com closing connection
    
    220 mail.out.com ESMTP Exim 4.74周二,2013年4月16日10:59:02+0200
    EHLO machineA.domain.com
    250-mail.out.com Hello machineA.domain.com[10.184.55.248]
    250号13631488
    250-流水线
    250帮助
    邮件发件人:SIZE=635
    250行
    RCPT至:
    数据
    250接受
    354输入消息,在一行上以“.”结尾
    接收:来自machineA.domain.com(localhost.localdomain[127.0.0.1])
    由machineA.domain.com(8.13.8/8.13.8)提供,ESMTP id为r3G8x0jq015631
    对于2013年4月16日星期二10:59:00+0200
    收到:(来自mailbounce@localhost)
    .by machineA.domain.com(8.13.8/8.13.8/提交)id r3G8wxGJ015622
    对于mailbouncexxxxx@gmail.com; 2013年4月16日星期二10:58:59+0200
    日期:2013年4月16日星期二10:58:59+0200
    发件人:mailbounce用户
    消息Id:
    致:mailbouncexxxxx@gmail.com
    主题:测试2
    测验
    .
    250正常id=1US1jC-000LvF-OQ
    退出
    221 mail.out.com正在关闭连接
    
    根据我上面看到的,这应该是工作顺利吗?我也检查了gmail账户中的“垃圾邮件”文件夹,但运气不好

    为什么我的邮件在使用Net::SMTP而不是通过同一个SMTP中继使用命令行时无法传递?我找不到地方了

    注:

  • 在提出这个问题之前,我看了一下。我在网上没有找到任何其他相关信息

  • 上面的主机名、电子邮件帐户和IP地址都是虚构的——这就是从输入/输出中修改的全部内容


  • 在这两种情况下,mail.out.com上的服务器都会接受邮件并向您提供队列ID。您的下一步必须是查看该服务器上的邮件日志,并查找有关这些队列id的信息。从您的脚本输出来看,您的测试消息似乎缺少重要的标题(日期、发件人、消息id)、您的“仅发送”和“主题”。不,都在那里。例如,“日期”在第一行。例如,如果使用命令行实用程序“mail”,则from会自动设置为“[user]@[fqdn]”。“消息id”位于底部第3行。我的问题在于我无法控制mail.out.com服务器,因此无法直接访问该机器上的邮件日志。将不得不与管理员(如果我能找出它是谁)虽然感谢评论