質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

25630閲覧

PHP~メールが送信できません!?

1981225

総合スコア67

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/10/19 08:15

編集2018/10/19 10:55

どうもすみません!
初めての投稿で不安ですが
以下お手数ですがよろしくお願いたします。

PHP~メールを送信しましたがメールが届きません!?
何故届かないのでしょうか?
以下設定情報です。
以下のプログラムの「送信」画面~
1)タイトル
2)宛先
3)本文
に所定の内容を入力して自分のパソコンから自分のパソコンのOutlookとスマートホン宛て
にメールを送信しましたが画面には「送信しました。」とは出ますが!一向にメール
が届きません?プログラムと設定内容は以下です。
PHPのメールプログラムの資料は2014.10.1発行の著書「やさしいPHP第3版」です。

現在の環境です。
O S        : Windows10
著書の環境      : PHPインタプリタ PHP5.5以降
XAMPP Control Panel : v3.2.2

PHPからメール利用するための設定は以下です。
■ 日付・時刻を表示するコード
■ メールを利用するコード
著書には「php.ini」と「sendmail.ini」の設定がありました。
4)php.iniの設定
※先頭の(;)がついている項目の場合は、セミころを削除して有効にしています。
ア)日付の設定:date.timezone=Asia/Tokyoと設定
イ)メールの設定~
※現在使用しているメーラーOutlookのアカウントを参考に設定しました。
A)SMTP= SMTPサーバー名:@niftyの会社の値です。
B)Smtp_port=お使いのSMTPポート番号: 465
C))sendmail_form=Outlookのメールアドレス: 未公開@nifty.com
D)sendmail_path = Sendmailの場所で:C:\xampp\sendmail\sendmail.exe" -t"

5)Sendmailの起動と設定
php.iniでSendmailを使用可能にしたら、次にsendmail.iniの設定を行います。
sendmail.iniの設定は、次のものです。
E)smtp_server=OutlookのSMTPサーバー名:@niftyの会社の値です。
F)smtp_port = : Outlookの465
G)force_seder = Outlookで使用しているメールアドレスです。
H)auth_username = OutlookのSMTP認証ユーザー名(SMTP認証が必要な場合) : 自分のメールアドレスがユーザー名です。
I)auth_pasuword =OutlookのSMTP認証パスワード(SMTP認証が必要な場合) : 公開はできませんが!

以下メールを送信するプログラムです。

<!DOCTYPE html> <html> <head> <title>10-15▶メールを送信する </title> </head> <body> <form action="http://localhost/YPHPSample/10/Sample10-15.php"method="post"> タイトル:<input type="text" name="sbj"/><br/> 宛先<input type="text" name="to"/><br/> <textarea rows="10" cols="50" name="msg"></textarea><br/><input type="submit" value="送信"/> </form> <?php if(isset($_POST["to"])) $to = $_POST["to"]; if(isset($_POST["sbj"])) $sbj = $_POST["sbj"]; else $sbj = null; if(isset($_POST["msg"])) $msg = $_POST["msg"]; else $msg = null; $hdr = "Content-Type: text/plain;charset=ISO-2022-JP"; mb_language("ja"); $sbj = mb_convert_encoding($sbj, "JIS", "UTF-8"); $msg = mb_convert_encoding($msg, "JIS", "UTF-8"); if(isset($_POST["to"])) { if(mb_send_mail($to, $sbj, $msg, $hdr))print "送信しました。\n"; else print "送信に失敗しました。\n"; } ?> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2018/10/19 08:49

おっしゃりたいことはわからないでもないですが、質問と回答という情報の集積が重要なのでサイト外へ誘導する内容の質問にはお答えし難いです。すくなくともポイントになる内容と詰まっている箇所に関するソースはteratailにupされることをオススメします
退会済みユーザー

退会済みユーザー

2018/10/19 10:27 編集

こうどなアフィリエイトだなー(はなほじ 質問文は何度でも改訂できるので、なるべくよそを使わずここに書いてほしいな
guest

回答1

0

ベストアンサー

PHP: mb_send_mail - Manual
を読んでもわかりにくいかもしれませんが、
sendmailなどを想定したメール送信プログラムに必要な情報を渡しているだけです。
渡すこと自体には成功するので、エラーが出ません。

ところで、よそ様のSMTPサーバーで簡単にメール送信できたら、
迷惑メールなど送り放題になりますよね。
プロバイダーとかwebメールサービスとかやってるところのSMTPサーバーを攻略(?)するのに
それぞれSMTP認証とかOAuth認証とかいろいろ実装しないといけなくなるのですが、
mb_send_mail()やmail()にはそんなところまでサポートしてません

なので、
1)ローカルに外部に送信可能なSMTPサーバーと立てて中継させるか、
2)ちゃんとSMTP認証やPOP before SMTPとか実装するか、
3)もっとちゃんとメール送信を厚くサポートしてくれるライブラリ(PHPMailer, Qdmail, etc.)を活用するか、
だと思います。
いずれも、インターネット上でメールがどのように実装されているかを
なんとなくでも理解してもらわないとデバッグすら出来ません。

ちょっとは参考になる図解:
メールサーバーとは?仕組み・役割をわかりやすく解説します | カゴヤのサーバー研究室

投稿2018/10/19 12:14

編集2018/10/19 12:18
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1981225

2018/10/19 13:18

ご回答くださいましてありがとうございました。 このサイト初のご回答が来ました、記念する初のご回答です。^^ 設定には問題はないとゆうご回答とですね! ご紹介していただいたPHPのサイトは腐るほど見ていますが! 中級以上向けのサイトと私は感じています。 簡潔に書かれてはいますが、明瞭とは思えません!
m.ts10806

2018/10/19 20:06

m6uさんが最初に提示されているリンクはPHP「マニュアル」なので中級以上も何も辞書のようなものです。PHPで組む上で必ず誰もがそこに立ち帰る基本の場所です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問