- 締切済み
phpでのmail関数の使い方
phpのmail関数を使いレンタルサーバーからメールを送りたいのですが [from: ]を設定するとgmailでの受信することが出来ません。 レンタルサーバーは hostinger です。 HPのURLは http://xxxxxxxx.esy.es/ となっています。 [from]を使わず送信した場合の送信元 レンタルサーバーのユーザー名@srv65.main-hosting.eu 実際送信元にしたいアドレスは test@xxxxxxxx.esy.es です。
- who_ray_sis
- お礼率17% (15/87)
- PHP
- 回答数3
- ありがとう数5
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- t_ohta
- ベストアンサー率38% (5071/13248)
> >>すべてのヘッダでドメインが一致していることが必要です。 > このドメインの意味が、わかりません。 > [xxxxxxxx.esy.es] [srv65.main-hosting.eu] > どちらのことをさしているのでしょうか? 実際にFromとして使いたいドメインで一致させるので [xxxxxxxx.esy.es] になりますね。
- t_ohta
- ベストアンサー率38% (5071/13248)
迷惑メール扱いされているんじゃないでしょうか。 DNSや送信元認証関連の設定を確認してみるといいと思います。
- yambejp
- ベストアンサー率51% (3827/7415)
標準のmail()関数は「とりあえず機能をつけときました」 レベルのものなので、PEAR::Mailなどで送信することをお勧めします http://pear.php.net/package/Mail
関連するQ&A
- phpメールの仕組み
php使用可能な無料サーバーeu.pnに、htmlファイルを置き、 そこに、phpとhtmlのメールフォームを作成しました。 http://www.freecontactform.com/email_form.php php自体は機能し、送信ボタンを押すと、ページの移動をし、phpでhtmlが出力されますが、肝心のメールは送られてきません。 これはサーバーの問題でしょうか? そもそも、phpのメールは「どこから」送られてくるのでしょうか? 使用しているレンタルサーバーの、ドメインもしくはサブドメインのメールアドレス(ある場合)でしょうか?
- ベストアンサー
- PHP
- phpでメールを送信
phpでメーラーを起動させずに単純なメール送信をするにはどうしたらよいのでしょうか? mail()を使って問い合わせ用のメールフォームを作りました。フリーホスティングサーバーにアップロードしようとしたところ、そのサーバーはsendmailが使えない仕様になっていました。そのせいでmail()を使用してのメール送信ができません。 私では経験不足なため解決方法がわかりません。よろしくお願いいたします。
- ベストアンサー
- PHP
- ループでmail関数について
XREAなどレンタルサーバーではメール送信(mail関数)をループ処理を行い複数のアドレスに送信でき受信確認ができるのですが、実験を行っている自宅サーバでは送信はできているみたいなのですが一部アドレスだけ届きません。 どうしてでしょうか? ご参考までに、環境と状況を記載させていただきます。 CentOS5 sendmail PHP 4.4.6 ドメインは、ダイナミックDNSのdip.jpを利用しております。 届いているアドレスはgmailだけです。 YahooやOCN、auには届きません。 mb_send_mailでも現状は同じでした。 よろしくお願いします。
- ベストアンサー
- PHP
- phpのmb_send_mailが迷惑メールになる
PHPほぼ初心者です。 自分なりに色々試行錯誤し顧客へのメール送信フォームを作成しました。 (PHPなのでもちろんブラウザで動きますが) 事務的な処理を効率化するために作ったのですが、 このフォームから顧客(不特定の人たち)へメールを送信(phpでmb_send_mail使用) しても迷惑メールに届いてしまい重要な内容のメールが先方に通知できず困っています。 当方の環境ですが (1)さくらインターネットのレンタルサーバー(スタンダード) (2)送信元は当社のアドレス (3)また自動生成したリンクURL(さくらの共有SSLのアドレス)がメールの本文中にあります ( https://secure***・sakura・ne・jp/******/****・php?id=*******&email=****%40hotmail・com&lang=EN のような感じです) 主に相手方がGmailの場合はじかれることが多いのですが、 いくつかの海外の企業さんのメーラーでもSPAM扱いされていました。 最近もしかしたらGmailのほうでJunkメールの基準が強化されたのかどうかわかりませんが 未達の為と思われる事案が多数発生し、手間を省く為のものが逆に余計手間がかかって いるということに陥って困っています。 上記の(3)があるためPHP(私がPHPしか使えないので)での解決方法がいいのですが その他の方法でもかまいません。(トライします) また当方ローカル環境にApacheサーバーをたてているのでこちらにメールサーバーを 追加するという方法もありかと思っていますが、やったことが無いのでやり方を間違えれば また同じ症状が出ると思いますので、まずは質問しました。 宜しくお願いします。
- ベストアンサー
- PHP
- PHPでのメール差出人名について
PHPでのメール差出人名について PHPのmb_send_mailでメール送信プログラムを書いています。 メールは送信されるのですが、メーラーで確認すると 差出人名(送信者)がうまく表示出来ません。 具体的には、 『▲▲サイトより送信』と表示させたいのですが、 『▲▲サイトより送信@レンタルサーバのドメイン名』 と表示されてしまいます。 下記がソースになるのですが、有識者の方いらっしゃいましたら ご教授よろしくお願いします。 -------------------------------------------- //送信設定 mb_language("japanese"); mb_internal_encoding("euc-jp"); $from = mb_encode_mimeheader(mb_convert_encoding("▲▲サイトより送信","JIS","euc-jp")); $head = "From: {$from}" . "\r\n" . 'X-Mailer: PHP/' . phpversion(); //送信実行 mb_send_mail($mail_to, $title, $message, $head);
- ベストアンサー
- PHP
- メールホスティングサービスからドコモへメールを送った場合
ドコモへメールを送る場合には基本的に送信元のドメイン名を偽ることができません。たとえばOCNからドコモへメールを送る際に、メーラーのFROM欄に「***@hotmail.com」と入力しても送信エラーになります。これはドコモのメールサーバ側で送られてきたメールの送信元IPアドレスを逆引きしてFROM欄のドメインと同じであるか確認してるからだと思います。 さて独自ドメインのメールアドレスを取得するためにプロバイダのメールホスティングサービスを利用する方法があります。 例:OCN Power Mail http://www.ocn.ne.jp/hosting/service/index02-powe_m.html このようなメールホスティングを使って独自ドメインアドレスを使った場合、ドコモへメールを送ることはできるのでしょうか? メールホスティングの場合、独自ドメイン(例:********.co.jp)を取得していてもメールサーバのIPアドレスはOCNが所有しているグローバルアドレスです。そのためドコモ側でメールを破棄してしまうような気がしますがどうでしょうか? ※送信元のメールアドレス********.co.jpだが、送信元IPアドレスを逆引きするとocn.ne.jpとなってしまうのでドコモ側で「これは成りすましメールだ!」と判断して破棄されるのでは?
- ベストアンサー
- その他(メールサービス・ソフト)
- PHPからのメールがこない
#! /usr/local/php4/bin/php<? //各種初期設定 $from="info@demo.net"; //送信元 $dest="info@demo.net"; //宛先 $header="From: $from\nReply-To: $from"; //ヘッダ $subject="お問い合わせ"; //件名 //エラーがない場合のみメール送信 if($result=="flash"){ // 文字コードの変換 mb_convert_variables("EUC-JP", "JIS, SJIS, UTF-8", &$SUBJECT, &$COMPANY, &$PERSON, &$EMAIL, &$URL, &$COMMENT); //言語を日本語に設定 mb_language("Japanese"); $message="省略"; //メールを送信する mb_send_mail($dest, $subject, $message, $header); // FlashのAns = Sender.Answer; に'Complete' を返す print "Content-type: text/plain\n\n"; print "Answer=Complete"; } ?> というFlashと連動するPHPなのですが、 メール送信完了と表示されるのにメールがきません。 どなたかお分かりになるかた是非教えて下さい。 利用サーバー環境は OS Linux (Fedora Core 3) PHP PHP-4.3.11 (CGI版) Perl Perl-5.8.5 です。よろしくお願いします。
- ベストアンサー
- PHP
- PHPのメール関数について
メールマガジン発行を考えているのですが、 読者のメールアドレスをMysqlに格納し、 PHPのメール関数で配信しようと思っています。 そこで、PHPのメール関数とは、 PHP→そのサーバのMTA→相手MTA と行くのでしょうか? それとも、 PHPメール関数自体が直接DNSサーバを探し確認した上で、 相手MTAに送信するのでしょうか? (つまりMTAを利用しないのでしょうか?) 基本的な質問で申し訳ございません。 MTAを利用するのなら配信スピードがqmailの方が 良いと聞きますので、sendmailから変更しようかと 思っています。 宜しくお願いします。
- ベストアンサー
- PHP
- Q)PHPでメール送信について
Q)PHPで外部のレンタルサーバーにメール送信したいのですが上手く 送信できません。 (現在の状況) ・OutlookExpress だと勿論okです。 ・社内のメールサーバー(ArGo Mail) にはLAN,及び外からも 送信できました。 (レンタルサーバーの状況) 1)メールサーバーのMTAとしてqmailを採用しています。 2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0) 3)POP before SMTP となっていますが、1)は業者さんに自社サーバー内でテスト頂き、okでした。 ------------------------------------------------------------ となると、原因は (1)私のルーター設定の問題 (2)PHPで 2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0) 3)POP before SMTP を対応させるの何れか?ぐらいしか思いつかないのですが 私のレベルが低いのでどこから取り組んだらいいのかよく解りません、何方かご教授宜しくお願いいたします。 ------------------------------------------------------------ テストしたPHP <?PHP mb_language("Ja") ; mb_internal_encoding("shift-jis") ; $mailto ="hanako@aaa.bbb.cc"; $subject ="花子さん"; $content ="よろしくお願いします。"; $mailfrom "From:" .mb_encode_mimeheader("yorosiku") ."<taro@xxx.yyy.zz>"; mb_send_mail($mailto,$subject,$content,$mailfrom); ?> ------------------------------------------------------------ (環境) Windows xp(sp2) Apache(V2.0.58) PHP(V5.1.4)
- ベストアンサー
- PHP
補足
ttp://tatete.blogspot.jp/2012/07/gmail.html このサイトを見てとりあえずfromを詐称しない事を実行しようと思っているのですが、 >>すべてのヘッダでドメインが一致していることが必要です。 このドメインの意味が、わかりません。 [xxxxxxxx.esy.es] [srv65.main-hosting.eu] どちらのことをさしているのでしょうか?