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

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

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

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

4回答

7641閲覧

PHPでローカルホストからサーバーを経由してメール送信できません

KentaroOnoda

総合スコア17

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2017/03/03 10:07

PHP初心者の者です。ローカルホスト(xampp)からロリポップサーバーを経由してメールを送信しようと何度も試してネットなどでいろいろ調べたのですが、どうしてもメール送信ができませんでした。どなたか原因に心当たりがある方がおりましたら、ご回答のほどよろしくお願いします。
ソース内容
//各項目をShift-JISに変換
//件名
$title = mb_encode_mimeheader(mb_convert_encoding($title, "JIS", "utf-8"),"JIS");

//送信先アドレス
$to = mb_convert_encoding("xxxx@ooo.or.jp", "JIS", "utf-8");

//内容
$message = mb_convert_encoding($honbun , "JIS" , "utf-8");

//送信元メールアドレス
$from = "From: zzzzz@oooo.or.jp";

//メーラー
$xmail = "X-Mailer: PHP/". phpversion();

$i = 0;
if(mail($to, $title, $message, $from . "\r\n" . $xmail)){

$_SESSION['error' . $i] = "お問い合わせ内容を送信しました。";

}else{

$_SESSION['error' . $i] = "お問い合わせ内容を送信できませんでした。";

}//if

PHP.iniの設定内容
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.lolipop.jp
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = zzzzz@oooo.or.jp

sendmail.iniの設定内容
[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.lolipop.jp

; smtp port (normally 25)

smtp_port=25

; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL

smtp_ssl=auto

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

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

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

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

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

kei344

2017/03/03 11:30

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344

2017/03/07 09:49

まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。
KentaroOnoda

2017/03/08 00:40

回答が遅くなってしまい申し訳ございません。ご教示頂いた方法でコードブロックにして更新ボタンをクリックしたのですが、更新されていましたでしょうか?ご丁寧にご指摘ご教示頂きありがとうございました。
kei344

2017/03/08 02:22

返答ありがとうございます。編集された場合、「投稿 2017/03/03 19:07」の横に編集の日付が出るのですが、それが確認できません・・・。今までも何人かの方が同じ症状だったことがあるので、何らかのバグかもしれません。お手数ですが、もう一度だけ試していただけませんか?
guest

回答4

0

ベストアンサー

ロリポップを経由するのであれば、以下のような設定になる気がします。

<抜粋>

smtp_server=smtp.lolipop.jp smtp_port=465 smtp_ssl=auto auth_username=sample@xxx.lolipop.jp auth_password=password

#「auth_username=」と「「auth_password=」の値は、ロリポップのSMTP-AUTHの情報を設定。

投稿2017/03/03 13:40

gorogoroIT

総合スコア447

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

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

KentaroOnoda

2017/03/07 08:33

ご回答頂き、ありがとうございます。 ご指摘頂いた通りに修正したところ、メール送信できました。 ありがとうございました。
guest

0

最近は多くのプロバイダで25番ポートによる外部接続をブロックしていますので、
そもそも25番ポートでの通信が不可能な可能性がありますね。

http://www.dekyo.or.jp/soudan/taisaku/i2.html
http://www.ntt.com/personal/services/option/mail/ocnmail/meiwaku/op25b.html

投稿2017/03/03 13:00

tanat

総合スコア18711

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

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

KentaroOnoda

2017/03/07 08:35

ご回答頂きありがとうございます。 ご指摘頂いた通り、smtpのポート番号が間違っていました。 smtp-port=465に修正したところ、メール送信できました。
guest

0

本当にメールサーバーはsmtp=25で受け付けてくれるのでしょうか?
メールで困ったときはPEAR::Mailなどに逃げたほうがよいかもしれません

投稿2017/03/03 12:25

yambejp

総合スコア114757

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

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

KentaroOnoda

2017/03/07 08:36

ご回答ありがとうございます。 smtp=465に修正したところ、メール送信できました。
guest

0

smtp_port=25ならsmtp_ssl=autoじゃなくてsmtp_ssl=noneでは?

投稿2017/03/03 11:15

Y.H.

総合スコア7914

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

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

KentaroOnoda

2017/03/07 08:37

ご回答頂きありがとうございました。 smtpのポート番号が25ではなくて、465でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問