2012-04-10 31 views
0

GoDaddyが仮想専用プラットフォームでホストしているWebサイトを持っていて、PHPスクリプトでmail()関数を正常に動作させることができませんでした。私は最初に自分のウェブサイトにサインアップしたときに検証コード付きのメールを送信しようとしていますが、mail()の機能はGmailアドレスにはうまく機能しますが、AOLやGoDaddyのメールサービスには効果がありません。GoDaddy専用サーバーでPHPのmail()関数が動作しない

私は複数のGoDaddyサポート担当者と話してみましたが、問題に本当に役に立たなかった。私はオンラインで見てきましたが、これはGoDaddyで自分のウェブサイトをホスティングしている人々にとって非常によくある問題です。メールが失敗したときにメールを返送しないので、何が起こっているのか分かりにくいです。私は/usr/local/psa/var/log/maillog(PuTTYのSSHを介してアクセスする)チェックすると、私はいくつかのエラーを得ている

$sendtoemail = '[email protected]'; 
$emailsubject = "Please validate your email"; 
$emailbody = "Validation info, blah blah."; 
$emailheader = 'From: [email protected]' . "\r\n" . 
       'X-Mailer: PHP' . "\r\n" . 
       'Reply-To: [email protected]' . "\r\n" . 
       '[email protected]'; 
mail($sendtoemail, $emailsubject, $emailbody, $emailheader); 

すべてが終了したことに:私も逆のDNSが有効になっているdeferral: ./Maildir:_No_such_file_or_directory/

ここ

は私のPHPコードです私のホスティングアカウントで "GoDaddy only"を介して電子メールを送信し、DNSルックアップのために "Include PTR"ボックスをチェックしたSPF DNSレコードを作成しました。これは、GoDaddyのDNSマネージャの「ゾーンファイルエディタ」の「TXT(テキスト)」セクションの下にありました。 (うまくいけば、それは私にとってよりもあなたにはもっと意味をなさないでしょう)。

+1

GoDaddyサーバーのスパム送信者が多すぎる可能性があるため、一部のメールサービスではトラフィックが黙って涅槃に入ります。 – hakre

+4

"私は複数のGoDaddyサポート担当者と話してみましたが、問題に本当に役に立たなかったのです。悪いサイン#1。より良いホストに移動する時間。 – j08691

+0

基本的な 'mail($ to、$件名、$メッセージ、" From:{$ from} ");'あなたのコードではないことを確認しましたか? –

答えて

3

GoDaddyがPHPメールをサポートしているかどうかはわかりませんが、これは通常、ウェブホスティング企業にとって大きな問題です。その理由は、スクリプトで迷惑メールを送信するためです。

あなたがPEARメールを持っていれば、GoDaddyがそこに持っているPEAR拡張がどのようなPEAR拡張を持っているかチェックするのが一番良い方法です。そうでなければ、認証されたメールの送信を試みるべきです。

必要に応じてPEARと認証メールの例を挙げることができます。

+0

私はこれを提案しようとしていた、GoDaddyのGoDaddy php mail()は動作していなかったし、それについてのものがたくさんあった –

+0

私もGoogleを見て、トラブルシューティングの質問は良い回答はありません。 – jball037

+0

@andrew - はい、私はPEARの経験はまだありませんが、私はそれを使うことができると確信しています。 – jball037

1

GoDaddayにPHP mail()のデフォルト変数を使用する必要がありますが、私はあなたのスニペットを使用したときにそれも私のためには機能しませんが、標準変数を使用してメールを取得しました。はい、専用の電子メールアドレスの変数を使用しないで、私がしたようにmail()関数に入れて、enter image description here

あなたのためにもうまくいきます。

$subject = "Please validate your email"; 
$message = "Validation info, blah blah. 2nd msg"; 
$Header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$Header .= 'From: Lux <[email protected] >' . "\r\n"; 

if(mail('[email protected]', $subject, $message, $Header)) 

echo "email sent"; 

else 

echo "email sending fail"; 
+0

これを正確に書いたことを使ってみましたが、それは私のためには機能しませんでした。専用のホスティングプランを使用していますか? – jball037

+0

はい専用サーバを使用していますが、この特定のメールIDは専用サーバから取得したものです。しかし、何も問題はないはずです:( –

5

これは古いスレッドですが、私は、彼らが他の誰かを助けた場合には、私の経験を追加しようと思いました。

私はmail()に非常によく似た問題があり、私はGoDaddyの技術サービスを呼びました。私は2時間電話していましたが、30(またはそれ以上の)テストコールをmail()(彼らは自分自身の 'testmail'スクリプトをアップロードしていました)しても、mail 、すなわち成功)。最終的な結果は、電子メールサーバーのリレーが「キューに入れられた」と私に言ったことでした。 2時間後、1人の技術サポート員と彼の「システム管理者」...同じ問題が残っています。

解決策は、plain old mail()関数の代わりにPHPライブラリswiftmailerを使用することでした。電子メールはswiftmailerを使用してすぐに送信されます。これが他の人に役立つことを願っています

言うまでもなく、私はホスティングプロバイダを変更しました!

+0

ホスティングプロバイダを変更した理由と現在のホスティングプロバイダはどちらですか? – SCC

+0

技術サポートのメンバーと何時間も過ごしていたので、 –

+0

これは答えです!SwiftMailerはGoDaddyとの最初の試行では間違いなく動作しますが、smtpout.secureserverを使用しています。 .net''のホストの代わりに –

0

だから、私はgodaddy deluxeホスティングでphpのメール機能を使って仕事をしました。それは私のgmailアカウントに送られるだろうが、実際にメールを作ったことがないgodaddy上のドメインを使っている実際のメールアカウント。私は狂気にある種の方法があると信じなければならない。あなたがmail()からメールを受け取っていないなら、私の提案は別のメールを試してみることです。私はこれがあなたが電子メールをどこに行きたいかというあなたの完璧なセットアップにレンチを入れたが、少なくともあなたは電子メールを受け取ることを知っている。おそらく、実際にメールを受け取った後、受信トレイにメールを転送するために転送の手口を使うことができます。

関連する問題