アプリ版:「スタンプのみでお礼する」機能のリリースについて

メールフォームからメールを送信することについて、
FENICSメール(富士通株式会社)でNet::SMTPを使用してメールを送信しようと考えています。

お問い合せでNet::SMTPでメールを送信する場合、smtp authの認証が必要だとわかりまして、下記のサイトを参考にして組みましたが、
メールが送信されませんでした。
http://d.hatena.ne.jp/yoshifumi1975/20060831/115 …

色々と調べてみた結果、最初の
$smtp = Net::SMTP->new('SMTPサーバ', Hello=>"SMTPサーバ");
の文で$smtpに値がなく、サーバーに接続できてませんでした。
参考サイト)http://tech.bayashi.net/pdmemo/sendmailbyperl.html

でも、smtp情報はメーラーで問題なく設置できましたので、
サーバー情報、認証には間違いはないと考えられます。

Net::SMTPは使えているのにどうしてsmtpサーバーに接続できないのか
わからずにいます。

初歩的で恐縮ですが、ご回答お待ちしております。
よろしくお願いします。

A 回答 (4件)

Net::SMTP->new のパラメータに、Debug=>1 を追加すれば、


うまくいかない原因がわかりそうです。

参考URL:http://q.hatena.ne.jp/1099119043
    • good
    • 0
この回答へのお礼

t-okuraさん

アドバイスありがとうございます。
参考にさせていただきます。

お礼日時:2008/09/21 16:59

> 「モジュールを入れる」と言うのは、サーバーにAuthen::SASLモジュールをインストールする言うことでしょうか?



そうです。

> もし、そうであれば、このサーバーは自由にインストールしたり出来ない環境にあります。
> サーバーにインストールせずにAuthen::SASLモジュールを使用する場合は、use とか require すればよろしいでしょうか?

use とか require で取り込むためにインストールが必要なんですけど。
Digest::MD5 とか Digest::SHA1 あたりがあればファイルのコピーで澄みそうですけどどうですか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうざいます。

Digest::MD5 、 Digest::SHA1 の確認をしましたが、Digest::MD5がインストールされていました!!!(嬉
感謝致します!

またまた、質問ばかりで申し訳ありませんが、コピーするというのは
どうすればよろしいでしょうか?

度々すみませんがよろしくお願いします。

【確認したプログラム】
----------------------------------------------------------
#!/usr/local/bin/perl -w

use Net::SMTP;
use Digest::MD5 qw(md5 md5_hex md5_base64);
use strict;
my $smtp = Net::SMTP->new('smtpサーバー名');
print my $smtp->domain,"\n";
my $smtp->quit;

【エラー文】
Can't call method "domain" on an undefined value at ./ファイル名.cgi 行番号 7.
----------------------------------------------------------

お礼日時:2008/09/18 10:33

> 真に恐縮ですが、参考となるホームページなどございませんでしょうか。



何の参考でしょうか?
モジュールをいれればいいだけだと思うのですが、Perlのみのコードで
smtp auth を通すコードですか?
    • good
    • 0
この回答へのお礼

ご意見ありがとうございます。
伝達不足で申し訳ございません。
-------------------
「モジュールを入れる」と言うのは、サーバーにAuthen::SASLモジュールをインストールする言うことでしょうか?
もし、そうであれば、このサーバーは自由にインストールしたり出来ない環境にあります。
サーバーにインストールせずにAuthen::SASLモジュールを使用する場合は、use とか require すればよろしいでしょうか?

よろしくお願いします。


--------------------------------------------------------
こちらに目的と、作業手順を追って挙げます

【目的】メールフォーム(Perl)の設置
1.$smtp = Net::SMTP->new('stmpサーバー', Timeout=>60, Debug=>0); でメールサーバーに接続し、
2.$smtp->auth($user, $passwd)で認証をクリアしてメールを送信したい。(※このサーバーは認証が必要です。)

【問題点】
・$smtp = Net::SMTP->new・・・の時に「$smtp」に値が入らない。
 他のサーバーではキチンと値が返ってきたのですが・・・

お礼日時:2008/09/17 17:38

これと同じ原因とか



Net::SMTP->auth - World Wide Walker
http://yoosee.net/d/archives/2004/08/25/002.html
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

早速上記のURLで確かめましたが、以下のエラーが
返ってきました。
---------------------------------------------------------
Can't locate Authen/SASL.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.0/sun4-solaris /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at ./ファイル名.cgi 行番号 113.
BEGIN failed--compilation aborted at ./ファイル名.cgi 行番号 113.
---------------------------------------------------------
どうやら、Authen::SASL;がサーバーに無い様です。
Perlのバージョンは5以上でしたが、標準的なモジュールしか
インストールされていないとの事でした。

真に恐縮ですが、参考となるホームページなどございませんでしょうか。
よろしくお願いします。

お礼日時:2008/09/17 13:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A