お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-03-07 16:46:17

claris
新しいメンバ
登録日: 2010-03-07

phpのmb_send_mail()利用にかんして

自宅サーバーで、phpが起動しております。
mb_send_mail()を利用するには、メールサーバーを立てなくてはいけないのでしょうか?

オフライン

 

#2 2010-03-07 16:55:04

hmatsue
アドバイザ
登録日: 2009-03-10

Re: phpのmb_send_mail()利用にかんして

http://php.net/manual/ja/function.mb-send-mail.php
http://www.php.net/manual/ja/function.mail.php
phpの中で閉じる話のように見えます。
が、私はphpは10年近く前にちらっと見てみただけなので、詳しいことは判りません。
詳細はphpのマニュアルや参考書類を参照下さい。

オフライン

 

#3 2010-03-07 17:26:10

claris
新しいメンバ
登録日: 2010-03-07

Re: phpのmb_send_mail()利用にかんして

hmatsueさま、投稿ありがとうございます。

mb_send_mail()の書き方は、わかっておりますが、sendmailにかかわること、ubuntu利用なので、このフォーラムを利用させていただいております。

ひきつづき、投稿お待ちしております。

オフライン

 

#4 2010-03-08 03:23:02

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: phpのmb_send_mail()利用にかんして

claris による投稿:

mb_send_mail()の書き方は、わかっておりますが、sendmailにかかわること、ubuntu利用なので、このフォーラムを利用させていただいております。

独自ドメインを取り、そのドメインからメールを送りたいなら、メールサーバを立てる。
そーじゃなければ、いつも使っている、メールサーバを使う。

オフライン

 

#5 2010-03-08 04:01:48

claris
新しいメンバ
登録日: 2010-03-07

Re: phpのmb_send_mail()利用にかんして

siさま、感謝いたします。

ぐぐったり、書籍をあさっても、その辺の疑問が全然解消しなくて困っておりました。
ubuntu 8.10 Desktop版には、始めから、sendmailが入っていないということはありますか?
which sendmail
としたら、何も帰ってこなかった記憶があります。今は、パスがでますが。。。
もう一つ、メールサーバーは立てても、ISPからはじかれる可能性があるんで、立てません。単なるメールを送りたいだけなんです。
/etc/init.d/sendmail start
も必要ないのでしょうか?

オフライン

 

#6 2010-03-08 07:59:11

ry
メンバ
登録日: 2008-07-30

Re: phpのmb_send_mail()利用にかんして

PHP はあまり詳しくはありませんが、ちょっと気になったのでざっと調べてみました

mb_send_mail() -その実態は mail()- は、外部の sendmail コマンドを呼び出してメールの送信を行っているようです
ちなみに、Windows 上では直接 SMTP (メール) サーバーと接続してメール送信をするようです

このため、Linux で PHP の mb_send_mail() や mail() を使う場合は、sendmail コマンドが PHP とは別にインストールされていなくてはなりません
旧来の Linux では各々の PC でメールサーバーを動かすことが一般的でした
しかし最近ではメールサーバーはそれ専用に用意した PC (サーバー PC) で動かすようになり、個々の PC にはインストールされない傾向が見受けられるようです

Ubuntu Desktop edition もその傾向の中でインストール直後の状態ではメールサーバーはインストールされていません
そして困ったことに、Linux 上の PHP の mb_send_mail() や mail() が使う sendmail コマンドは、メールサーバーに付随したコマンドだということです
つまり Ubuntu Desktop edition で PHP の mb_send_mail() や mail() を使うためには、メールサーバーを追加インストールする必要があります
sendmail コマンドが付随するメールサーバーには以下があります (ubuntu 9.10 の場合)

citadel-mta, courier-mta, esmtp-run, exim4-daemon-heavy, exim4-daemon-light, masqmail, msmtp-mta, nbsmtp, nullmailer, postfix, ssmtp, xmail

どれかひとつだけをインストールすれば、sendmail コマンドが一緒にインストールされます
ただし、当然ですがインストールしたメールサーバーの設定をきちんと行っておかなくてはなりません
sendmail はインストールしたメールサーバーを使ってメールを送信します

sendmail を使わずに PHP からメールを送信するには、PEAR::Mail などを使えばいいようです

オフライン

 

#7 2010-03-08 11:03:50

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: phpのmb_send_mail()利用にかんして

ryさん フォローありがとうございます。
最近のUbuntuでは、eximが入らなくなったのを、失念してました。
ネット情報では、postfixを入れる人が多いようです。

オフライン

 

#8 2010-03-08 11:49:14

hmatsue
アドバイザ
登録日: 2009-03-10

Re: phpのmb_send_mail()利用にかんして

各位

私が#2で嘘を書いたせいで、混乱させてしまって申し訳ありません。
pythonのように内部で処理されるものと思っていました。

postfix(とそれに付随するsendmail)でメールを送信する場合で、上位のSMTPサーバが認証を必要とする場合などは、
http://www.postfix-jp.info/origdocs/install-report-sasl.html
の「Postfix の設定」あたりが参考になるかと思います。
環境がFreeBSDのようなので、導入方法などは異なるかと思います。

オフライン

 

#9 2010-03-08 16:15:41

claris
新しいメンバ
登録日: 2010-03-07

Re: phpのmb_send_mail()利用にかんして

ryさん、siさん、hmatsueさん、ありがとうございます。

postfixを入れる方向でやってみます。

関数名?がmb_send_mail()、コマンド名がsendmail、自宅メールサーバーを立てるのも、sendmail、postfixを使っても呼ばれたるのは、sendmailコマンド。

ややこしいですね。。。

オフライン

 

#10 2010-03-08 17:16:17

ry
メンバ
登録日: 2008-07-30

Re: phpのmb_send_mail()利用にかんして

claris による投稿:

ややこしいですね。。。

それが、歴史的経緯とか過去の遺産とか呼ばれる...... (余談です

オフライン

 

Board footer

Powered by FluxBB