• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sendmailのレスポンスコードを取りたいのですが・・・)

perlでメール送信時のレスポンスコードはどうやったら取得できますか?

このQ&Aのポイント
  • perlでメール送信時のレスポンスコードを取得する方法を教えてください。
  • Net::SMTPを使ってメール配信を行った場合、レスポンスコードを取得する方法がわかりません。
  • PHPのgetResponse()メソッドが使えない場合、perlではどのようにレスポンスコードを取得すればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

Net::Cmd の code() で取得できます。 #!/usr/bin/perl use strict; use warnings; use Net::SMTP; my $smtp = Net::SMTP->new('mail.example.com') or die; eval { $smtp->mail('foo@example.com') or die; $smtp->to('bar@example.com') or die; $smtp->data() or die; $smtp->datasend("To: bar\@example.com\n") or die; $smtp->datasend("\n") or die; $smtp->datasend("A simple test message\n") or die; $smtp->dataend() or die; $smtp->quit or die; }; if ( $@ ) { my $code = $smtp->code(); my $message = $smtp->message(); chomp($message); print "ERROR: $code $message:\n"; } exit;

参考URL:
http://search.cpan.org/~gbarr/libnet-1.22/Net/Cmd.pm
smailsmail
質問者

お礼

ありがとうございます! 取り合えず存在しないメールアドレスに送ってみたところ ERROR: 553 5.3.0 <xxx@xxxxx.xxx>... Recipient is not local (2): と取得できました! いろいろ試してみようと思います。 本当に助かりました!ありがとうございます

関連するQ&A