PHPを使ったリレーサーバーを使ってのメール送信は可能か?

このQ&Aのポイント
  • 現在、PHP5を使用してメールマガジンのWEBアプリを作成中です。メールを送信する際、別のサーバー(リレーサーバー)を使用して送信したいと考えています。リレーサーバーのIPアドレスは分かっており、リレーサーバー会社の担当者によるとPHPだけで実行できると言っていますが、実現可能かどうか不明です。また、メール送信時にキャリアに迷惑メールと誤解されることがあり、それを防ぎたいと考えています。
  • PHP5を使ってメールマガジンのWEBアプリを作成中ですが、メール送信時に別のサーバー(リレーサーバー)を使用する方法を調べています。リレーサーバーのIPアドレスは分かっており、リレーサーバー会社の担当者によるとPHPだけで実行できると言っていますが、実現可能かどうか不明です。また、送信したメールがキャリアによって迷惑メールと誤解されることがあり、それを防ぐ方法も知りたいです。
  • PHP5を使用してメールマガジンのWEBアプリを作成していますが、メール送信時にリレーサーバーを使用する方法を調べています。リレーサーバーのIPアドレスは分かっているため、PHPだけで実行することができるとリレーサーバー会社の担当者から聞きましたが、具体的な方法はわかりません。また、送信したメールがキャリアによって迷惑メールと誤解されることがあり、それを防ぐ方法も知りたいです。
回答を見る
  • ベストアンサー

PHPを使ってリレーサーバーを使って送信

現在、PHP5を使ってメールマガジンのWEBアプリを作りました。 それ自体は問題なく動作しています。 メールを送信する際に別サーバー(リレーサーバー)を使って送信したいのですが phpだけでそれは可能なのでしょうか? (サーバー会社のリレーOKのサービスがありそれを使用します) わかっているのはリレーサーバーのIPアドレスだけです。 そのリレーサーバー会社の担当者によるとIPアドレスがあれば、PHPだけで 実行できるということなのですが、いろいろしらべてみたのですがお手上げです。 ちなみにメールマガジンの送信をしているのですが、時々キャリアに迷惑メールと勘違いされたのか 送信されないことがあります。それを防ぎたいのがねらいです。 不足している情報がありましたらご指摘ください。 ご教授よろしくお願いいたします

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

質問の意図とあっているか微妙ですが PEAR::Mailを利用すれば、smtpサーバーを指定してメールが送れます。 http://pear.php.net/manual/ja/package.mail.mail.php

bakusui
質問者

お礼

ありがとうございました。 教えていただいた内容で送信できました。 感謝します。

関連するQ&A

  • qmailからのメールリレー

    ASPでメールを配信するシステム(php)があり、これまでは同サーバ内のqmailから送信すれば良かったのですが、この度外部のリレーサーバを利用することになりました。 ==================================== /var/qmail/control/smtproutes に hoge.co.jp:[xx.xx.xx.xx] ==================================== 該当アドレス宛のメールをリレーサーバに転送するよう設定したつもりなのですが、到着したメールのヘッダを見てみるとリレーサーバのIPアドレスの記載がありません。 設定が間違えているのか、他に設定する項目があるのかネットを検索してもこれといったものに出くわさずここに書き込んでいる次第です。 初心者な質問で申し訳ないのですがアドバイスをいただければ幸いです。 よろしくお願いします。

  • メールサーバーのリレー設定

    社内で設置している社内用メールサーバー(のメールアドレス)から、 契約している専用サーバ経由で、gmailなどのメールに送信したいと思うのですが、 今まで前担当者が設定をしていたらしく、(前担当者はもういなくなってしまいました) うまく送信することができたのですが、 やむを得ない事情で、 レンタルサーバーが変更になたっところ、 その新しいレンタルサーバーの標準の設定では送信しても <hoge.hoge@gmail.com>: host xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx] said: 554 5.7.1 <hoge.hoge@gmail.com>: Relay access denied (in reply to RCPT TO command) ※xxx部分はIPアドレスです というメールが返ってきて送信できなくなりました。 ほかのgmailなどのメールアドレスに送信できるように するには新しいレンタルサーバー設定のどこを変更したらいいでしょうか? よろしくお願いします。

  • phpからメールを送信したいです。

    phpからメールを送信したいです。 やりたい事はそれだけですが、根本的によく分かっていないところがあり、その辺りを整理したいと思っています。 何分、概念をよく理解していないので、意味不明な事を書くかもしれませんが宜しくお願い致します。 CentOS7にアパッチとPHPをインストールしました。 WEBルート上に下記のtest_phpinfo.phpを配置し、 ブラウザから http://IPアドレス/test_phpinfo.php で呼び出すと、 phpinfoの情報が画面上に出ています。 次に、 WEBルート上に下記のtest_mb_send_mail.phpを配置し、 ブラウザから http://IPアドレス/test_mb_send_mail.php で呼び出すと、 (画面に出すものは何も書いていないので)真っ白な画面が出て、自分のアドレスにメールが届いて欲しいのですが届きません。 あと、具体的に何が必要なのかという事が分かりたいのですが、それとは別に幾つか質問があります。 phpのmb_send_mail関数自体にはメーラの機能はあるのですか?ないのですか? phpのエンジンと追加モジュールでメーラの機能があり、その設定が必要なのか? phpのmb_send_mail関数自体にはメーラの機能はなく、postfixなどのメールサーバーを仲介するだけなのか? メール送信に必要なのは何ですか? 普通にPCからメールを送る場合は、 サンダーバードとかOutlookといったメーラと、自分のメールアドレスが必要です。 自分のメールアドレスの情報として メールアドレス、パスワード、 IMAPかPOPサーバー名、ポート番号 接続の保護、認証方式 SMTPサーバー名、ポート番号 接続の保護、認証方式 が必要です。 phpのmb_send_mail関数からメールを送信する場合も同様にこれらが必要ですか? このサーバーでメールを管理したいわけではなく、ただメールを送りたいだけです。 それでもメーラのようなモノではなく、メールサーバーが必要ですか? 以上、宜しくお願い致します。 [test_phpinfo.php] <?php phpinfo(); ?> [test_phpinfo.php] [test_mb_send_mail.php] <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_send_mail("自分のアドレス", "件名", "本文", "From: from@example.com") ?> [test_mb_send_mail.php]

    • ベストアンサー
    • PHP
  • phpでメールを送信

    phpでメーラーを起動させずに単純なメール送信をするにはどうしたらよいのでしょうか? mail()を使って問い合わせ用のメールフォームを作りました。フリーホスティングサーバーにアップロードしようとしたところ、そのサーバーはsendmailが使えない仕様になっていました。そのせいでmail()を使用してのメール送信ができません。 私では経験不足なため解決方法がわかりません。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • リレーサーバーの転送設定

    現在 centos7 + postfix で リレーサーバーを作成しています。 そこで、メールの転送をする際に、細かく返答用のアドレスを分けたいと考えています。 us***@ezweb.ne.jp からメールがきた場合 => answ***@docomo.ne.jp us***@softbank.jp からメールがきた場合 => answ***@docomo.ne.jp userのアドレスと 返答用アドレスは DBに登録しようと考えています。 一つのアドレスで転送する方法は見付けられたのですが、複数ある転送用アドレスから特定のアドレスを指定して転送する方法が どうしても見付けられません。 一応わからないなりに調べた結果 postfixの aliasesで メールの受信をトリガーに huriwake.phpが起動するようにして huriwake.php で DBを参照 対象となる アドレスを取得 php で メールの送信 このような方法で実装出来そうなのですが、あまり効率的とは思えません。 (細かく返答用のアドレスを分けることが まず効率的ではないのですが 仕様なので仕方がありません。) 上記に変わる方法、改良点など、何でも結構です。 ご教授くださればと思います。 宜しくお願い致します。

  • リレーメールサーバの設定について

    現在社内にあるAD環境と連携させてExchangeサーバ(goo.local)をたてました。 社外とのメールのやり取り用には、DMZにリレーメールサーバを置いて経由させる予定です。 このリレーメールサーバでxxx@goo.localとなっている社内用アドレスを、外部用のメールアドレス(例 xxx@goo.co.jp)に変更させて送受信することはできますでしょうか?(リレーメールサーバ側で設定? Exchangede側で設定?) また、リレーメールサーバに外部DNSサーバ機能も追加するのですがMXレコードの記述なども必要だだと思うのですがMXレコードに記述するのは、リレーメールサーバでよいのでしょうか?ExchangeサーバをMXレコードに記述するのでしょうか? ご教授よろしくお願い致します。

  • ドメインのIPと異なるサーバからのメール送信

    同じ業者から2つのサーバ(サーバA・B)をレンタルしています。 このうち、サーバAの方にドメイン(mydomain.com)を関連付けて使用し、サーバBの方にはサブドメイン(sub.mydomain.com)を関連付けて使用しています。 この状態で、サーバA・サーバBのそれぞれからPHPでメール送信を行ったところ、サーバBからのメールのみが迷惑メール扱いになってしまいました。 おそらくサーバA・サーバBとも、送信者のメールアドレスを「info@mydomain.com」に設定しているため、サーバBの方では、メールアドレスのドメインが示すIPアドレスと、実際にメールを送信したサーバのIPアドレスが一致せず、迷惑メール扱いされているものと思います。 こういったケースはよくあるのではないかと思うのですが、この場合の対応策にはどのようなものがあるのでしょうか? サーバのOSはUbuntu10.04で、メール送信にはPostfixを使用しています。 対応策をご存知の方がいらっしゃいましたらよろしくお願いします。

  • PHPでメール送信

    こんにちわ。 PHP4でWEBサイトを作ろうとしております。その中で、フォームからメールの送信をしたいと考えているのですが、方法が可能かどうかおしえていただきたいと思っております。 WEBサーバとメールサーバが異なる場合でもメール送信は可能でしょうか。WEBサーバは自社内にあるのですが、メールサーバは、レンタル会社のものなのですが、そのレンタルサーバのSendmailを利用してメール送信することは可能でしょうか。 うまく説明できてないかもしれませんが、補足いたしますので、よろしくお願いします。

    • ベストアンサー
    • PHP
  • SENDMAILリレー設定

    私はRedhatlinux7.3を使ってSENDMAILでサーバを立ててみようと思っております。 SENDMAILのバージョンは8.11.6です。インストールそのままです。 POPにつきましては、POP3を起動させることができ、受信はうまくいきました。 SMTPにつきましては特にSENDMAILの設定をせずメールを送ってみると以下のようなメッセージが出てきました。 550 5.7.1 <user@domain.jp> Relaying denied. IP name lookup failed [192.168.0.11] これはIPアドレスが許可されていないのだと思z、/etc/mail/relay-domainsに192.168.0を入れて見ると送信が可能になりました。 実は私がやりたいことはまったく他のネットワークからこのSMTPを使いたいと考えております。もちろんIPは決まっておりません。 送信者のアドレスが特定ドメインのメールのみSMTPリレーをしたいと思っているのですがどのような設定をすれば良いのかをご教授していただければと思います。また、バーチャルドメイン環境も作成してみたいと思ってます。 現在のところrelay-domainsを空欄にしてaccessにリレーしたいドメイン RELAYと設定してみましたが同様のエラーがきました。

  • メールサーバーのリレー設定

    CentOSでメールサーバーを動作させました。 イントラネット内のみでは送信受信がうまくいくのですが、 gmailなどの外部のメールアドレスに送信しようとすると Undelivered Mail Returned to Sender This is the mail system at host bach.hmt.local. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to <postmaster> If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <test@hege.hoge.local>: host xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx] said: 554 5.7.1 <test@hege.hoge.local>: Relay access denied (in reply to RCPT TO command) リレーが拒否されたというようなメールが返ってきました。 この返信メール内のhostのアドレスはpostfixの/etc/postfix/main.cfで relayhost = [xxx.xxx.xxx.xxx] と設定されていました。このxxx.xxx.xxx.xxxは現在契約している レンタルサーバーのIPアドレスです。 契約しているレンタルサーバー経由でリレーさせるために設定だと思うのですが、 前担当者の設定時、 以前は別のレンタルサーバーを契約していて、25番送信ができたためか yyy.yyy.yyy.yyyと設定してあることで、外にもメール送信ができていたのですが、 レンタルサーバーを別の業者に変更し、上記のようにリレー設定をしたところ、 メールが戻ってくるようになりました。 そこで質問なのですが、 インターネットの外のメールにメールを出せるようにするには、 どこの部分を設定するようにすればいいでしょうか? レンタルサーバーの25番なのか? どこのDNSを設定すればいいのかは不明ですが、DNSに現在設定しようとしている メールサーバーを設定しないといけないのか? この設定していようとしているDNSサーバーの指定は、 同じイントラネット上のWindowsServer2008R2のDNSになっています。 受信はできなくても構いません。 ちょっと複雑なのですが、インターネットで調べてもなかなか見つけることができませんでした。 よろしくお願いします

専門家に質問してみよう