0

メールを送信していない (より大きな CMS の一部として) メーリング スクリプトを受け取りました。そして、私は一生、メールを送信しない理由を理解できません。エラー処理(他の質問で見つけたもの)をいくつか追加し、エラーログを確認しましたが、役に立ちませんでした。

これがコードです。プライバシー保護のため、コードのbodyとを削除しました。titleただし、プレーンテキストで送信してみたので、問題はありません。

<?php include '../includes/header.php' ; ?>
<link rel="stylesheet" type="text/css" href="/vidvdcms/css/formstyle.css" />
<?php

// For testing only
error_reporting(E_ALL);

$result =  mysql_query("SELECT * FROM klant, bestellingen WHERE klant.klant_id LIKE '".$_GET['mail']."' ORDER BY bestellingen.order_id DESC LIMIT 1") or die(mysql_error());
while($row = mysql_fetch_array($result)){

// multiple recipients

$to = ''.$row['email'].'';
$name = '' . $row['voornaam'] . ' ' . $row['achternaam'] . ''; 

// subject
$subject = 'REDACTED - SUBJECT OF EMAIL';

// message
$message = 'REDACTED - BODY OF MAIL WITH HTML/GETS';

}


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: XXXX <XXX@emaple.com>' . "\r\n";
$headers .= 'Bcc: XXX@gmail.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

print "REDACTED - Email sent succesful message"; 

mysql_close($link)
?>

編集:コードをトリプルチェックしましたが、正常に動作しているようです。オンラインで見つけた簡単なメール スクリプトを試してみましたが、どちらも送信されませんでした。別のサーバーで試したところ、送信されました。だから私はそれがサーバーだと思いますか?これを確認するにはどうすればよいですか?次に何を試しますか?

4

1 に答える 1

0

あなたの質問が適切にデバッグする方法についてであると仮定します:

どこから始めれば、すべてのPHPロギングを有効にすることができます。

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

次に、画面に表示される内容を確認します。

また、メールサーバーでログを見つけて、そこにメッセージがあるかどうかを確認する必要があります。

それでも問題が解決しない場合は、Xdebugを機能させ、IDE(特定のIDE用のGoogle for Xdebugのセットアップ手順)でコードを1行ずつ実行して、すべての変数が期待どおりかどうかを確認します。

この問題を解決するための具体的なヘルプが必要な場合は、上記の手順で出力されたエラーを貼り付ける必要があります。

于 2012-07-02T12:28:11.327 に答える