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

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

ただいまの
回答率

90.53%

  • PHP

    23495questions

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

  • XAMPP

    597questions

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

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

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 2,189

KentaroOnoda

score 11

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2017/03/03 20:30

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

    キャンセル

  • kei344

    2017/03/07 18:49

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

    キャンセル

  • KentaroOnoda

    2017/03/08 09:40

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

    キャンセル

  • kei344

    2017/03/08 11:22

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

    キャンセル

回答 4

checkベストアンサー

+2

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

<抜粋>

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/07 17:33

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

    キャンセル

+2

最近は多くのプロバイダで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/07 17:35

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

    キャンセル

+1

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/07 17:36

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

    キャンセル

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/07 17:37

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

    キャンセル

同じタグがついた質問を見る

  • PHP

    23495questions

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

  • XAMPP

    597questions

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