0

どうやら、以下のスクリプトを実行した後、hostgator 共有ホスティング サーバーがハングするようです。

スクリプトは正常に送信されたメッセージを返しますが、送信されません。SMTP 設定は、Web サイト全体で使用しているため、機能していることを確認しています。この文書にはエラーが見つかりません。私のホストは、なぜハングするのか、なぜ送信しないのか、何の手がかりもないようです。

私は何かを見落としていますか?何か案は?

<?php
require_once "Mail.php";
include('../../Redirect_modules.php');

function sendmail($type,$subject,$body)
{
  if($type==1) $WET = DBGet(DBQuery("SELECT * FROM staff"));
  else $WET = DBGet(DBQuery("SELECT * FROM staff where profile='$type'"));  

  $from = "";

  $host = "";
  $username = "";
  $password = "";

  $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);

  $smtp = Mail::factory('smtp',
    array ('host' => $host,
      'auth' => true,
      'username' => $username,
      'password' => $password));

  $mail = $smtp->send($to, $headers, $msg);

  foreach($WET as $e)
  {
    $to = $e['EMAIL'];
    $mail = $smtp->send($to, $headers, $body);

    if (PEAR::isError($mail)) {
      echo("<p>" . $mail->getMessage() . "</p>");
    } else {
      //echo("<p>Message successfully sent!!</p>");
    }
  }
}

function sendsinglemail($to,$subject,$body)
{
  $from = "Your Name";

  $host = "";
  $username = "";
  $password = "";

  $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);

  $smtp = Mail::factory('smtp',
    array ('host' => $host,
      'auth' => true,
      'username' => $username,
      'password' => $password));

  $mail = $smtp->send($to, $headers, $body);

  if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
  } 
  else {
    echo("<p>Message successfully sent!!</p>");
  }

}

if($_REQUEST['modfunc']=='send')
{
  if($_POST['roption2']=='0')
  {
    sendmail($_POST['roption1'],$_POST['subject'],$_POST['message']);       
  }
  else
  {
    sendsinglemail($_POST['roption2'],$_POST['subject'],$_POST['message']); 
  }
}

$RET = DBGet(DBQuery("SELECT * FROM staff")); 
?>

<h2> Communicate with Teachers or Parents individually or by group via Email </h2>
<form action="<?php echo "Modules.php?modname=$_REQUEST[modname]&modfunc=send" ?>"     method=POST>
 <table width="500">
 <tr><td> To:</td> <td><select name="roption1" id="groupselect">
 <option value="1">All Administrators, Teachers and Parents</option> 
 <option value="admin">All Administrators</option>
 <option value="teacher">All Teachers </option>
 <option value="parent">All Parents</option>
 </select> 
  or 
 <select  name="roption2" id="individual">
    <option value="0" SELECTED>Select User</option> 
    <?php foreach($RET as $userdata){ ?>
      <option value="<?php echo $userdata['EMAIL']; ?>"><?php echo    $userdata['FIRST_NAME']." ".$userdata['LAST_NAME']; ?></option>
    <?php } ?>
 </select> 
 </td>
 </tr>
 <tr><td> Subject:</td> <td> <input type="text" name="subject" /> </td></tr>
 <tr> <td> </td> <td>Message: <br/> <textarea cols="60" rows="10" name="message">    </textarea> </td></tr>
  <tr> <td><input type="submit" value="send" name="submit" />
 </table>
</form>
<?php
?>
4

1 に答える 1

0

私の明らかな間違いでした。FROM フィールドが正しく入力されていなかったため、バウンスバック後にハングが発生しました。

于 2012-11-23T22:18:05.687 に答える