2013-05-16 3 views
2

Я пытаюсь написать сценарий пересылки электронной почты php. Я написал простой код, читающий электронные письма из imap и отправляя их на конкретный адрес электронной почты.PHP Электронная почта вперед

Но проблема в том, что он не работает :) Он отправляет электронную почту без тела электронной почты.

/* connect to imap */ 
$hostname = '{mail.myserver.com:143/notls}INBOX'; 
$username = '[email protected]'; 
$password = 'password'; 

/* try to connect */ 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 

/* grab emails */ 
$emails = imap_search($inbox,'ALL'); 

/* if emails are returned, cycle through each... */ 
if($emails) 
{ 


/* put the newest emails on top */ 
rsort($emails); 

/* for every email... */ 
foreach($emails as $email_number) { 

/* get information specific to this email */ 
$overview = imap_fetch_overview($inbox,$email_number,0); 
$message = imap_fetchbody($inbox,$email_number,2); 


$full = imap_fetchheader($inbox, $email_number); 
$body = imap_body($inbox, $email_number); 


imap_mail("[email protected]","title", $body,$full); 

break; 
} 
} 

/* close the connection */ 
imap_close($inbox); 
+0

abi imap_body class'ının parametlerini bir kontrol et eksik olabilir. kolay gelsin – tcgumus

ответ

0

Попробуйте это ..

Это работает, но никакие приложения не будут отправлены.

  $fp = popen('/usr/sbin/sendmail -f'.$fromaddress.' '.$toaddress,"w"); 
        $subject = 'Title'; 
        $msgNo = imap_msgno($conn, $msgUID); 
        $header = imap_header($conn, $msgNo); 
        if($body = imap_fetchbody($conn, $msgNo, 1.1)) { } 
        else { $body = imap_fetchbody($openmail, $msgNo, 1); } 
        if(!$fp) return false; 
        fputs($fp, "To: $toaddress\n"); 
        fputs($fp, "Subject: $subject\n"); 
        fputs($fp, $headers."\n\n"); 
        fputs($fp, $body); 
        fputs($fp, "\n"); 
        pclose($fp); 
Смежные вопросы