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

Apacheとsendmailを別々のサーバで起動し、ApacheのサーバのCGIから別サーバのsendmailを利用してmailを送信する方法を教えて下さい。

A 回答 (5件)

1. mail()関数


2. popen()関数
3. fsockopen()関数

1,2はApacheサーバのsendmailコマンドでメール送信。
当然メール送信出来るように設定する必要があります。
sendmailならデーモンを起動しなくても(postfix, qmailはNG)送信は可能。

3は別サーバかプロバイダのmailサーバにSMTP接続。
1,2に比べてレスポンスは多少落ちます。
    • good
    • 0

CGIをPerlかRubyにして、SMTPのライブラリ(モジュール)を利用する手もあります。



・Perlのソケットモジュールを利用する
http://www5a.biglobe.ne.jp/~n_rieko/perl/smtp.htm

・PerlのSMTP.pmを利用する
http://chaichan.hp.infoseek.co.jp/qa3000/qa3402. …


ちなみに私はRuby派なので

require "net/smtp"

Net::SMTP.start(メールサーバ, 25) do |session|
  session.send_mail(本文, from, to)
end

たったこれだけでCGIから他のメールサーバに送信できます。
    • good
    • 0

>PHPでメール送信の関数を使用する場合はどうなるのでしょうか。



phpのメール関数mail()を使う場合は、php.iniファイルにsendmail_pathという
パラメータがあるので、sendmailコマンドのパスを指定する事になります。
    • good
    • 0

Apacheサーバ側で、CGIの中でメール本文を組み立てて、


別のsendmailサーバに送信するだけです。

つまり、Apacheサーバ側のCGIがメールクライアントとなって、
他のsmtpサーバを指定してメールを送信するわけです。
(Windowsでoutlook等で、プロバイダのSMTPサーバを指定して送信するのと同じ)

とりあえず、
Apacheサーバ上で、mailコマンドやsendmailコマンドで
メールを飛ばせるように設定をしてください。

この回答への補足

PHPでメール送信の関数を使用する場合はどうなるのでしょうか。

補足日時:2003/08/23 18:19
    • good
    • 0

通常CGIから他のサーバのプログラムへはアクセスできないと思います。


セキュリティ的に危険すぎますから。
    • good
    • 0

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