0
電子郵件發送在Perl中,但在shell中工作。我的shell腳本是否正確?電子郵件發送通過Perl腳本,但不是shell腳本
如果Perl腳本是工作的,看起來像服務器SMTP conf是正確的。我怎樣才能找出是什麼導致電子郵件不能在shell腳本中工作?
My perl script:
#!/usr/bin/perl -w
use strict;
use warnings;
use Net::SMTP;
sub sendmail();
my $email = '[email protected]';
my $smtp_server = '10.233.1.199';
sub sendmail() {
my $s = Net::SMTP->new($smtp_server);
$s->mail($email);
$s->to($email);
$s->data();
$s->datasend("Subject: Test");
$s->datasend("\n");
$s->datasend("Testing\n");
$s->dataend();
$s->quit;
}
sendmail();
Shell script:
#!/bin/sh
SUBJECT="some subject"
smtp=10.233.1.199
[email protected]
echo "some message" | mailx -s "$SUBJECT" "$EMAIL"
Shell腳本看起來沒有錯誤。但假設您的示例代碼中包含虛擬數據,那麼您的變量的實際值可能存在問題。我很驚訝你的'smtp'變量有任何作用。可能導出它?此外,全部帽子更典型。或者完全評論它。查看郵件代理是否發回了錯誤響應? '郵件'。祝你好運。 – shellter
是出口做的伎倆。謝謝 !! – iaav