电子邮件发送在 perl 中工作,但在 shell 中。我的 shell 脚本对吗?
如果 Perl 脚本有效,看起来服务器 SMTP conf 是正确的。我怎样才能找出导致电子邮件在 shell 脚本中不起作用的原因?
My perl script:
#!/usr/bin/perl -w
use strict;
use warnings;
use Net::SMTP;
sub sendmail();
my $email = 'abc@xyz.com';
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=abc@xyz.com
echo "some message" | mailx -s "$SUBJECT" "$EMAIL"