View Single Post
ישן 07-07-06, 16:30   # 4
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

בבקשה, מתוך PHP.NET , אני אישית לא בדקתי את הפונקציה אבל היא אמורה לעשות את העבודה.

כמובן שהיא צריכה לעבור כמה שינויים
PHP קוד:
function mymail($to,$subject,$message,$headers)
{

  
// set as global variable
  
global $GLOBAL;
 
  
// get From address
  
if ( preg_match("/From:.*?[A-Za-z0-9\._%-]+\@[A-Za-z0-9\._%-]+.*/"$headers$froms) ) {
     
preg_match("/[A-Za-z0-9\._%-]+\@[A-Za-z0-9\._%-]+/"$froms[0], $fromarr);
     
$from $fromarr[0];
  }

  
// Open an SMTP connection
  
$cp fsockopen ($GLOBAL["SMTP_SERVER"], $GLOBAL["SMTP_PORT"], &$errno, &$errstr1);
  if (!
$cp)
   return 
"Failed to even make a connection";
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "220") return "Failed to connect";

  
// Say hello...
  
fputs($cp"HELO ".$GLOBAL["SMTP_SERVER"]."\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "250") return "Failed to Introduce";
 
  
// perform authentication
  
fputs($cp"auth login\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "334") return "Failed to Initiate Authentication";
 
  
fputs($cpbase64_encode($GLOBAL["SMTP_USERNAME"])."\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "334") return "Failed to Provide Username for Authentication";
 
  
fputs($cpbase64_encode($GLOBAL["SMTP_PASSWORD"])."\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "235") return "Failed to Authenticate";

  
// Mail from...
  
fputs($cp"MAIL FROM: <$from>\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "250") return "MAIL FROM failed";

  
// Rcpt to...
  
fputs($cp"RCPT TO: <$to>\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "250") return "RCPT TO failed";

  
// Data...
  
fputs($cp"DATA\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "354") return "DATA failed";

  
// Send To:, From:, Subject:, other headers, blank line, message, and finish
  // with a period on its own line (for end of message)
  
fputs($cp"To: $to\r\nFrom: $from\r\nSubject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "250") return "Message Body Failed";

  
// ...And time to quit...
  
fputs($cp,"QUIT\r\n");
  
$res=fgets($cp,256);
  if(
substr($res,0,3) != "221") return "QUIT failed";

  return 
true;

  Reply With Quote