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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

503閲覧

PHPで作成した問い合わせフォームをGメールに送るにはどうすればよろしいでしょうか?

hirahashi

総合スコア38

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2024/05/28 01:01

実現したいこと

https://ja.stackoverflow.com/questions/66884/php%E3%81%A7%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%8B%E3%82%89%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%8C%E9%80%81%E4%BF%A1%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84

上記にあるコードを利用させて頂いて、私のGメールのアドレスにメールを送ろうとしているのですが、
メールが送られません。
問い合わせ内容を送信すると「hello」とは出力されるのですが、肝心の問い合わせ内容がGメールに来ません。
どのようにすればよろしいでしょうか?

発生している問題・分からないこと

「hello」と出力されているのにGメールに当該のメールが来ません。

該当のソースコード

HTMLのコード -------------------- <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="contact2.php" method="POST"> <div class="form-content pt-5"> <div class="form-left "> <div class="form-group"> <input type="text" class="form-control" name="name " placeholder="名前"> </div> <div class="form-group mt-5"> <input type="text" class="form-control" name="email " placeholder="メールアドレス"> </div> </div> <div class="form-right"> <div class="form-group"> <textarea class="form-control" name="message " placeholder="お問い合わせ" rows="10"></textarea> </div> </div> </div> <p><input type="submit" name="submit" value="上記の内容で送信する" class="wpcf7-form-control wpcf7-submit text-center" id="button"></p> </form> PHPのコード -----------------------

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

イメージ説明

補足

補足:MAMPを使っております。
Xサーバーというものは使っておりません。Dockerはインストールしておりません。

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

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

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

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

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

int32_t

2024/05/28 02:47

送信するメールの From フィールドにはどんなメールアドレスが入るのでしょうか。フォームから入力された任意のメールアドレスですか?
hirahashi

2024/05/28 03:45

>フォームから入力された任意のメールアドレスですか? はい。フォームから入力された任意のメールアドレスからになります。 誰からでも送ってきて頂く形になります。
guest

回答2

0

ベストアンサー

大昔の大らかな時代は、自宅PCからメールを直接送信できましたが、今時は使えない様になっています。
なので、自宅PCから、外部のメールサーバ(SMTP)に中継を依頼する形で送信します。
参考にされているモノは、自前で送信できるマシンである事が前提なので、そのままでは使えません。

ポート番号である「25」を利用しておりました。それを「587」に変えました。

画像の通りに変更したのですよね?
それでサーバを起動するとエラーになりませんか?

;https://php.net/smtp ;https://php.net/smtp-port

の部分はアンコメントしてはダメです。
__参照先を示しているだけ
そして

; For Win32 only.

と書かれているのに気が付いていませんか?
画像では Macintoshを使っている様ですが?

SMTP = smtp.gmail.comに変えた

Gmailの SMTPサーバを使う方法を検索してください。
Gmail側の設定も必要ですし、認証を得る手続きも必要です。

問い合わせ内容を送信すると「hello」とは出力される

ソースが全く示されていない状態ですから、何がどうなっているのか解りません。
提示されている HTMLソースは WordPressのプラグインの様なクラスが指定されていますが、WordPressを利用しているのでしょうか?
もしもそうなら、php.iniを変更するのではなく、アプローチが全く異なります。

私のGメールのアドレスにメールを送ろう

まだ PHPの学習途中だと思います。
現時点でメールを送信しなければならない理由がありますか?
実際にメールを送らなくても良いのではありませんか?
__「ダミーメールサーバ」で検索すると
__自PCでメールを送った体でテストできる方法について情報が得られるでしょう

投稿2024/05/28 03:12

tezcello

総合スコア434

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

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

hirahashi

2024/05/28 03:57

Gメール以外でメールを受け取る場合だと、 SMTPサーバを借りないといけませんか? ダミーメールサーバでメールを受け取る方法が厳しいです。
hirahashi

2024/05/28 04:38

実際にメールを送って検証したいです。おっしゃる通り、私はPHP初学者ですが、実際にコードを記述するとこのようなことが実現できるんだということを身をもって理解することが学習への近道になると思われました。
tezcello

2024/05/28 05:02

> Gメール以外でメールを受け取る場合だと、 > SMTPサーバを借りないといけませんか? 宛先がGmailだろうが何だろうが、ローカルのPCから外部にメールを送信する際は、必ずどこかのメールサーバを経由する事になります。 今お使いのインターネット接続プロバイダ(OCNとか、ケーブルTVとか)が、提供しているかもしれませんし、Gmailが提供しているモノでも良いです。 > 実際にメールを送って検証したい 実際にメールが届くようにするのは、昔よりも難しくなっています。 春ごろに話題になっていましたが、各ケータイ会社やGoogleが迷惑メール対策を強化していますから、送っても届かないとか見てもらえない事が増えています。 __キチンと対策すればチャンと届く > 実際にコードを記述するとこのようなことが実現できる それを「メール送信」で実感しなくても、まだ先にやる事はたくさんあります。 ダミーメールサーバはプログラムとは無関係な仕組みなので、プログラムとして記述する事は本番時と全く同じです。 スパムを疑われる様なメールを実際に繰り返し送る(初期段階ではよくある)事でブラックリストに載ったりして困るような事も発生しませんし、周りに迷惑を掛ける事もありません。 > ダミーメールサーバでメールを受け取る方法が厳しい MacOSのPostfixを操作するのかと警戒しているのでしょうけれど、XAMPPのインストールと同程度の事で対処できる場合がほとんどです。 __全部をDockerに任せる方が簡単かも
hirahashi

2024/05/28 06:20

>実際にメールが届くようにするのは、昔よりも難しくなっています。 >春ごろに話題になっていましたが、各ケータイ会社やGoogleが迷惑メール対策を強化していますから、送っ>ても届かないとか見てもらえない事が増えています。 >__キチンと対策すればチャンと届く それでは、よくあるサイトのホームページのお問い合わせにある名前やメールアドレス、お問い合わせ内容は、具体的にどこにいっているのですか?
tezcello

2024/05/28 06:37

> 具体的にどこにいっているのですか? 実際にメールを送信するのではなくデータベース等に蓄えておくだけだったりします。 もちろん実際に送信する事もあるでしょうが、それだとメーラ上での管理になってしまいます。 複数人で対応する場合、送信したメールがその人のメーラにしか無いのでは困りますよね? 昔よりもメールを届けるのが難しくなっているのは事実ですが、やる事をやれば届ける事は可能です。 でも、誰でも取得できる無料のアドレス(例えばGmail)から送られてきたメールを、簡単に信用できますか? 誰が作ったのか分からない様なサイトの問い合わせページに、自分の「有効な」アドレスを入力したりもしませんよね? 少なくてもドメインがあり、それの管理者が判っていて、セキュリティ対策がそれなりに実施されていて、迷惑メール対策もキッチリ出来ている様な状況じゃないと怖くて個人情報を入力したりは出来ません。 お試しでアレコレやるのは簡単ですが、「お試し」なのに本番と同じ事をやらなければいけない理由はほぼありません。
hirahashi

2024/05/28 07:05

なるほど、ありがとうございます。まずは、データベースにお問い合わせの内容を送るようなプログラムを作る努力を致します。ご回答ありがとうございました。
guest

0

適切なメールサーバー(SMTP)を利用して送信してください

投稿2024/05/28 01:44

yambejp

総合スコア117654

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

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

hirahashi

2024/05/28 02:16

最初はSMTPのポート番号である「25」を利用しておりました。それを「587」に変えました。
hirahashi

2024/05/28 02:26

さくらインターネットではなくGメールの方にメールを送りたいのです。
hirahashi

2024/05/28 02:37

SMTPをSMTP = smtp.gmail.comに変えたのですが、やはりGメールに届きません。
yambejp

2024/05/28 02:45

ご契約のISPの提供されているSMTPと正しいポートを指定してください またドメインはSPFに対応している必要があります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問