perl 모듈 Net :: Smtp_auth를 사용하여 포트 25 (암호화 없음)의 web.de SMTP 서버를 사용하여 자신에게 메일을 보냅니다. 그것은 내 컴퓨터를 잘 작동합니다. 하지만 동일한 스크립트를 사용하여 루트 권한이없는 다른 컴퓨터에서 완료된 작업에 대한 알림 메시지를 보내고 싶습니다. 이 컴퓨터에서 연결 시간 초과가 발생합니다. 어떤 방식으로 연결이 차단되었는지, 스팸 차단을 막는 이유 (스팸 발송자 방지) 및 문제를 피할 수있는 방법이 있는지 궁금합니다. 사용할 수있는 리눅스 도구가 있지만 nmap이 없습니다. 프록시 설정에 의해 연결이 영향을받을 수 있습니까? 그렇다면 SMTP_auth에 어떻게 연결합니까?디버그 smtp 연결
perl 스크립트는 기본적으로 cpan의 SMTP_auth 예제입니다. 다른 기계 홈 기계가 아닌 다른 네트워크에있는 경우
#!/usr/bin/perl -w
use Net::SMTP_auth;
$message=$ARGV[0];
$smtp = Net::SMTP_auth->new('smtp.web.de') or die "Failed to open SMTP connection: $!";
$smtp->auth('CRAM-MD5', 'adress', 'password');
$smtp->mail('[email protected]');
$smtp->to('[email protected]');
$smtp->data();
$smtp->datasend("To: adress\@web.de\n");
$smtp->datasend("From: adress\@web.de\n");
$smtp->datasend("\n");
$smtp->datasend("$message\n");
$smtp->dataend();
$smtp->quit;
[인터넷 :: SMTP] (http://p3rl.org/Net::SMTP)에서 생성자를 상속합니다. 디버깅'-> new ('...', Debug => 1)'및 [edit your questions] (http://stackoverflow.com/posts/10642875/edit)를 사용하여 결과 로그를 제공하십시오. – daxim