回答受付が終了しました

ID非公開

2021/7/24 17:28

22回答

PHPファイルでメールを送信出来ることを知ったのですが、

回答(2件)

0

xamppの場合は、標準のmail関数だと下記のどちらかになります。 ・同梱されているMercuryMailをセットアップする。 そのMercuryMailがメール送信できるように設定する。基本的に直接相手先サーバに送るのはスパム扱いされる可能性が高い(というか、ISPのOP25Bに引っかかって接続できない)ので、受け取ったメールを全部ISPのメールサーバに丸投げするなどの工夫が必要です。 ・php.iniの書き替えて、sendmailプログラムを使うように設定する WinOSの場合、localhostの25番ポートに繋ぐように初期設定されているので、それを書き替えて同梱されているsendmail/sendmail.exe で送信するように設定する。 sendmail.exe と同階層にある sendmail.ini で接続先SMTPの設定を行いますが、前述のケースと同様に、全部ISPのSMTPに丸投げするのが吉だと思う。 それ以外にも、メール送信の代わりにファイルに書き出す(mailtodisk.exe だったかな?)というのもあったと思うのですが、インストール時にFake sendmail をチェックしていないとインストールされないし現行バージョンにもあるのかちょっと調べ切れていません(汗 なお、実運用ではwebサーバのsendmailだけではスパム扱いされないようにするのが大変なので、phpmailerなどのライブラリを使うことが多いです。メールヘッダをキチンと設定して(レンタルサーバのお仕着せではない)自分で使いたい(使える)SMTPを利用して送信します。 #標準関数を使わないので、最近の状況を調べてないという話で(汗

1

可不可だけ答えるなら、可能です。 不可能な場合があるのは事実ですが、それは PHPの問題じゃなく、その PHPの動作環境が(仮想かどうかは別にして)「メールを送信できるか」に掛かっています。 そして、殆どのプロバイダ経由のインターネット接続では送信できません。 つまり、一般家庭や普通の会社からではほぼ無理です。 __プロバイダの指定するアレコレをすれば __送信可能になる事もある お手軽な形ではなく、SMTPサーバ経由での送信ならば大方の場合(上記の「ほぼ無理」な環境からでも)送信は可能でしょう。 __PC上でメールアプリを使ってメール送信するのと __同じ事をするのが SMTP経由の送信 素の PHPではなく、何らかのライブラリ(必要な機能を提供してくれるプログラム集の様なもの)を利用して送信するのが多いです。 __もちろん自力で作る事も可能です 外部にレンタルサーバなどを借りて PHPを実行するなら、(素の PHPでも)送信する事はかなりの場合可能でしょう。 ですが、送信する事と、相手に届く事は別のお話です。 __変なところから来たメールは無視されたり... > メールを送信出来ることを知った 初心者の方と思いますが、メール送信をする前に学ばないといけない事がたくさんあります。 メールの仕組み自体も知っておかないと「届かない」に対応できないかもしれません。

1人がナイス!しています

> webサーバのsendmailだけではスパム扱いされないようにするのが大変なので、phpmailerなどのライブラリを使う ライブラリを使ったらスパム扱いされないって訳じゃないのでは? >shimixさん Webサーバの sendmailでも、逆引きや、spf、DKIMやらキチンとやれば大方は受け取ってくれると思います。 ライブラリを使ってもその辺りをキチンとしておかないといけないのは同じはずです。 自分とは無関係そうなドメインや名前やらで送信する事で問題無いなら、それこそプロバイダの指定の方法でやるのが一番手間が掛からないでしょうし。