Nejste přihlášeni
Stránky 1
Píši zde příklad, který mi funguje na různých serverech, ale na endore.cz ne. Prosím Vás mohl by mi někdo poradit proč či poslat příklad imap_mail a imap_append, aby se mail s přílohou odeslal a poslal do odeslaných? Děkuji za odpověď.
chyby tohoto příkladu : Nelze odeslat pokud není v imap_mail komu to odeslat.
Příloha se zakóduje a vloží do zprávy jako text a ne jako příloha mailu.
Neodešle se do trash a neoznačí se jako přečtený.
možná jsou i další, ale tyhle potřebuji vyřešit co nejdříve.
<?php
session_start();
$user = <!-- e --><a href="mailto:'info@novetrendy.eu">'info@novetrendy.eu</a><!-- e -->';
$password = 'info2009';
$servername = 'imap.prohosting.cz';
$port = '143';
$type = 'imap';
$mailbox = "{".$servername.":".$port."/".$type."}".$_SESSION['slozka'];
$open = @imap_open($mailbox,$user,$password);
$name = <!-- e --><a href="mailto:'info@novetrendy.eu">'info@novetrendy.eu</a><!-- e -->'; // vaše meno
$address = <!-- e --><a href="mailto:'info@novetrendy.eu">'info@novetrendy.eu</a><!-- e -->'; // vaša e-mailová adresa
$to_name = $_POST['mail']; // odosielateľove meno (alebo adresa)
$text = strip_tags($_POST['zprava']); // text, odstránime html tagy
$html = $_POST['zprava']; // html
$outer_boundary = "----=_".md5(000)."_000";
$inner_boundary = "----=_".md5(001)."_001";
$now=Time();
// hlavičky správys
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From: ".$name." <".$address.">\n";
$headers .= "To: ".$to_name." <".$_POST['mail'].">\n";
$headers .= "Subject:".$_POST['re']."\r\n";
$headers .= "Date:".$now."\r\n";
$headers .= "Reply-To: <!-- e --><a href="mailto:info@novetrendy.eu">info@novetrendy.eu</a><!-- e --> <info@novetrendy.eu>\n";
$headers .= "Return-Path: <!-- e --><a href="mailto:info@novetrendy.eu">info@novetrendy.eu</a><!-- e --> <info@novetrendy.eu>\r\n";
$headers .= "X-Priority: 2\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: PHP/".phpversion()."\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$message .= $text."\n\n";
$pp=7;
for($i=1;$i!=$pp;$i++){
// príloha
if(!empty($_FILES[$i]['name']))
{
$headers .= "Content-Type: multipart/mixed;\n\tboundary=\"".$outer_boundary."\"\n";
$file = $_FILES[$i]['name'];
$message .= "\n--".$outer_boundary."\n";
$message .= "Content-Type: ".$_FILES[$i]['type'].";\n\tname=\"".$file."\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment;\n\tfilename=\"".$file."\"\n\n";
$file1 = $_FILES[$i]['tmp_name'];
$fp = fopen($file1,"r");
$content = fread($fp,filesize($file1));
fclose($fp);
$content = chunk_split(base64_encode($content));
$message .= $content;
$message .= "\n\n";
}
}
// $message .= "\n--".$outer_boundary."--\n";
// e-mail odošleme
if(imap_mail("",$_POST['re'],$message,$headers))
{
// if () zde ma byti funkce ulozeni do odeslanych
$slozkyx="";
imap_append($open, "{".$servername.":".$port."/".$type."}trash",$headers.$message);
$mailbox = "{".$servername.":".$port."/".$type."}trash";
$open = @imap_open($mailbox,$user,$password);
$cm=imap_num_msg($open);
$status=imap_setflag_full($open, $cm, "\\seen");
$_SESSION['Zprava'].="Mail odeslán.<br />";
header ('Location: ./maily.php');
exit();
}
else
{
$_SESSION['Zprava'].="Mail neodeslán.<br />";
header ('Location: ./mail.php');
exit();
}
?>
Offline
Offline
Díky moc... Jen mám prozbu... nemůžu najít nějaký příklad na načtení mazání atd... Jestli to vůbec má...
Offline
Škoda :-D myslel jsem si, že mi to ještě ulehčí práci. A jak se díky tomu přeposílá do odeslaných. Já na to používal právě funkci imap_append, ale ta nějak tady plně nespolupracuje.
Offline
Offline
A co pro to musím udělat, protože pokud to neodešlu k sobě tak se mi to do odeslaných neuloží...
Zkusil jsem 2 způsoby a nic...
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "xxx@gmail.com"; // GMAIL username
$mail->Password = "xxx";
$mail->SMTPSecure = "imap/ssl"; // sets the prefix to the servier
$mail->Host = "imap.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 993; // set the SMTP port for the GMAIL server
$mail->Username = "xxx@gmail.com"; // GMAIL username
$mail->Password = "xxx";
Offline
Díky moc... Už to funguje...:-D Což znamená, že budu muset přistupovat k tomu dvěma způsoby...:-D
přes imap při načítání a smtp při odesílání... To bude prča... Bude muset to být asi všude co...???
Není někde seznam informací pro toto odesílání a přijímání mailu pro různé servery... (seznam,atlas,atd)???
Inač hodně díky moc jsi mi pomohl a pokud pak budeš potřebovat s webmailem tak se ozvi...
Offline
Offline
Stránky 1