1

レベルを認識するスクリプトがあり、コードを通過したかどうかを知らせるアラートを追加しました。2つのメールアドレスが反映されています。2 つのメールを別々に送信したいのですが、受信ボックスが機能していません。迷惑メールを確認しました。

私が欠けているものはありますか?

function emaillog($to,$id,$subject,$message){
include("dbconnect.php");
mysql_query("INSERT INTO emlog(mm,tt,ss,rr) VALUES('$message','$to','$subject','$id')");


}
if($level == 1){
    $assignedtowho_email_result = mysql_query("SELECT Email FROM sheet1 WHERE id IN(SELECT assignedtowho FROM tbl_one WHERE id =$id)");

    while($row_email=mysql_fetch_array($assignedtowho_email_result)){
        $assignedtowho_email=$row_email['Email'];
    }

    // Email Sending department
    $to = $senderEmail;
    $subject = "Refferal status updated by recieving r";
    $message = "Your  status has been updated by ";
    $from = "info@test.co.za";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    emaillog($to,$id,$subject,$message);
    $message_alert="Sender mail sent: ".$to;
    echo '<script>alert("'.$message_alert.'")</script>';
    //echo "Mail Sent.";

    // Email Recieving department
    $to = $assignedtowho_email;
    $subject = "Refferal status updated ";
    $message = "Your refferal status has been updated";
    $from = "info@test.co.za";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    emaillog($to,$id,$subject,$message);
    $message_alert_2="Assigned mail sent: ".$to;
    echo '<script>alert("'.$message_alert_2.'")</script>';
    //echo "Mail Sent.";
} 
4

1 に答える 1

0

要件

メール関数を使用できるようにするには、コンパイル時に PHP がシステム上の sendmail バイナリにアクセスできる必要があります。qmail や postfix などの別のメール プログラムを使用する場合は、それらに付属している適切な sendmail ラッパーを必ず使用してください。PHP は最初に PATH で sendmail を検索し、次に /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib で検索します。sendmail を PATH から使用できるようにすることを強くお勧めします。また、PHP をコンパイルしたユーザーは、sendmail バイナリにアクセスする権限を持っている必要があります。

http://tr2.php.net/manual/en/mail.requirements.php

すべての要件と SMTP サーバーがあることを確認してください。

したがって、mail() 関数 prop. OSとPHPのバージョンによって変わる可能性があります

[ここ][1]ですべて見ることができます

ChangeLog側。

Windows を使用している場合は、PEAR メールを使用する必要があります。ここにいる

Ubuntu や Centos などの Linux OS の場合、必ず php.ini と apache/httpd.ini を構成する必要があります。

これをすべてのOSで使用します

   <?php # Is the OS Windows or Mac or Linux 
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { 
  $eol="\r\n"; 
} elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { 
  $eol="\r"; 
} else { 
  $eol="\n"; 
} ?> 

<?php 
# File for Attachment 
$f_name="../../letters/".$letter;    // use relative path OR ELSE big headaches. $letter is my file for attaching. 
$handle=fopen($f_name, 'rb'); 
$f_contents=fread($handle, filesize($f_name)); 
$f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode(); 
$f_type=filetype($f_name); 
fclose($handle); 
# To Email Address 
$emailaddress="user@example.com"; 
# Message Subject 
$emailsubject="Heres An Email with a PDF".date("Y/m/d H:i:s"); 
# Message Body 
ob_start(); 
  require("emailbody.php");     // i made a simple & pretty page for showing in the email 
$body=ob_get_contents(); ob_end_clean(); 

# Common Headers 
$headers .= 'From: Jonny <jon@example.com>'.$eol; 
$headers .= 'Reply-To: Jonny <jon@example.com>'.$eol; 
$headers .= 'Return-Path: Jonny <jon@example.com>'.$eol;     // these two to set reply address 
$headers .= "Message-ID:<".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol; 
$headers .= "X-Mailer: PHP v".phpversion().$eol;           // These two to help avoid spam-filters 
# Boundry for marking the split & Multitype Headers 
$mime_boundary=md5(time()); 
$headers .= 'MIME-Version: 1.0'.$eol; 
$headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol; 
$msg = ""; 

# Attachment 
$msg .= "--".$mime_boundary.$eol; 
$msg .= "Content-Type: application/pdf; name=\"".$letter."\"".$eol;   // sometimes i have to send MS Word, use 'msword' instead of 'pdf' 
$msg .= "Content-Transfer-Encoding: base64".$eol; 
$msg .= "Content-Disposition: attachment; filename=\"".$letter."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !! 
$msg .= $f_contents.$eol.$eol; 
# Setup for text OR html 
$msg .= "Content-Type: multipart/alternative".$eol; 

# Text Version 
$msg .= "--".$mime_boundary.$eol; 
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; 
$msg .= "Content-Transfer-Encoding: 8bit".$eol; 
$msg .= "This is a multi-part message in MIME format.".$eol; 
$msg .= "If you are reading this, please update your email-reading-software.".$eol; 
$msg .= "+ + Text Only Email from Genius Jon + +".$eol.$eol; 

# HTML Version 
$msg .= "--".$mime_boundary.$eol; 
$msg .= "Content-Type: text/html; charset=iso-8859-1".$eol; 
$msg .= "Content-Transfer-Encoding: 8bit".$eol; 
$msg .= $body.$eol.$eol; 

# Finished 
$msg .= "--".$mime_boundary."--".$eol.$eol;   // finish with two eol's for better security. see Injection. 

# SEND THE EMAIL 
ini_set(sendmail_from,'from@example.com');  // the INI lines are to force the From Address to be used ! 
  mail($emailaddress, $emailsubject, $msg, $headers); 
ini_restore(sendmail_from); 
?> 
于 2013-09-27T20:06:46.437 に答える