anche io ho lo stesso problema del pdf che in allegato arriva e poi non funziona può essere una impostazione del php.ini ?
anche io ho lo stesso problema del pdf che in allegato arriva e poi non funziona può essere una impostazione del php.ini ?
Hey boyz!!!
E' possibile utilizzare questo codice per aggiungere allegati ad una form con Flash?![]()
grazie!
nel corpo del messaggio posso includere immagini e filmati in flash, gif animate o altro ?
il percorso delle immagini e degli oggetti multimediali è assoluto o relativo ?
come faccio vedere al destinatario delle email questi oggetti ?
se possiedo una lista di destinatari, e l'email in formato html è abbastanza pesante, posso pensare di suddividerla in + blocchi ? suggerimenti ?
Originariamente inviato da teuccio
In $f dobbiamo specificare il percorso al file che vogliamo allegare. Il file deve risiedere sul server; volendo, facendo qualche piccolissima modifica allo script, si può caricare il file da allegare direttamente dal computer locale. Ma questo sarà uno step successivo.
Se il file da allegare è su un normale computer di casa invece che in un server? :bubu:
by fede089
Ho provato lo script però invertendo le parti:
Dal momento che voglio che l'immagine sia visualizzata in cima e la parte html sotto ho scambiato i due blocchi e le e-mail arrivano correttamente se le scarico con outlook (sia da libero che da aruba). Ma se tento di leggere l'email dalla pagina di libero mi viene visualizzato il contenuto dell'immagine anzichè l'immagine.
Premetto che non è un problema di libero in quanto se invio un'email con immagine tramite outlook e poi la vado ad aprire con libero mi viene visualizzata bene, quindi forse c'è qualcosa da aggiungere allo script?!?
Se a qualcuno interessa ho trovato una pagina con un elenco di mime-types:
http://www.asahi-net.or.jp/en/guide/cgi/mimetype.html
e sempre se interessa, utilizzo questa funzione per settare il mime-type di un'immagine nella mail (dal momento che faccio un form con varie immagini da scegliere per inviare una cartolina):
ma ancora non riesco a visualizzare correttamente la mail da una pagina html, si visualizza bene solo se si scarica la posta con outlook...Codice PHP:
// $immagine è la stringa contenente l'indirizzo del file di immagine
$inf_imm=@GetImageSize($immagine);
if ($inf_imm[2]==1) {$ext="gif"; $mime_type="image/gif";}
if ($inf_imm[2]==2) {$ext="jpg"; $mime_type="image/jpeg";}
if ($inf_imm[2]==3) {$ext="png"; $mime_type="image/png";}
if ($inf_imm[2]==6) {$ext="bmp"; $mime_type="image/bmp";}
$attach_name="immagine.".$ext; // Nome da dare all'allegato
Qualcuno mi sa almeno spiegare perchè?
Ma a voi il codice funziona?
Leggendo il manuale PHP vedo che alla funzione mail() c'è scritto che negli headers per andare a capo non bisogna mettere soltanto \n ma invece \r\n.
Ho provato anche questa soluzione ma l'unico risultato che ottengo è che la posta inviata con questo sistema a caselle di posta risiedenti su server aruba mi viene considerata come spam perchè hanno installato un sistema antivirus-antispam che mi rileva "caratteri non validi nell'intestazione MIME", fatto sta che togliendo gli \r mi funziona anche con aruba ma comunque sia NON RIESCO A VISUALIZZARE DI NESSUNA MANIERA le email html con allegato da pagine per leggere la posta via web!
Ho provato pure a copiare il "messaggio originale" fornito da outlook e a creare lo script perchè mi scrivesse le stesse identiche cose, ritorni a capo compresi e boundary in abbondanza dove non servono ma niente da fare, se la invio con outlook la vedo, se la invio con php no.
C'è qualcuno li fuori?!
codesto il codice da me utilizzato per tentare di inviare una cartolina con tanto di scelta del colore di sfondo:
Allora, c'è qualcuno che mi sa dare una risposta?Codice PHP:
<?
// Variabili passate dal form:
// $dest -> Indirizzo e-mail del destinatario
// $dest_name -> Nome del destinatario dell'email
// $from -> E-Mail di chi spedisce
// $from_name -> Nome di chi spedisce
// $subject -> Oggetto dell'email
// $body -> Corpo del messaggio
// $body_color -> Colore di sfondo da dare alla pagina html
// $immagine -> URL dell'immagine
$boundary = md5(uniqid(microtime())); // Delimitatore
// Qui mi trovo il mime_type e l'estensione dell'immagine
$inf_imm=@GetImageSize($immagine);
if ($inf_imm[2]==1) {$ext="gif"; $mime_type="image/gif";}
else if ($inf_imm[2]==2) {$ext="jpg"; $mime_type="image/jpeg";}
else if ($inf_imm[2]==3) {$ext="png"; $mime_type="image/png";}
else if ($inf_imm[2]==6) {$ext="bmp"; $mime_type="image/bmp";}
$attach_name="cartolina.".$ext; // Nome da dare all'allegato
// Intestazione
$msg_headers ="From: \"".$from_name."\" <".$from.">\n";
$msg_headers.="Reply-To: $from\n";
$msg_headers.="MIME-version: 1.0\n";
$msg_headers.="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$msg_headers.="Content-transfer-encoding: 7BIT\n";
$msg_headers.="X-Priority: 3\n";
$msg_headers.="X-Mailer: PHP\n";
$msg_headers.="X-attachments: $attach_name\n";
// Inclusione dell'immagine
$filex = fopen($immagine, "r");
$file_content = fread($filex, filesize($immagine));
$file_encoded = chunk_split(base64_encode($file_content));
fclose($filex);
$msg_body = "--".$boundary."\n";
$msg_body .= "Content-Type: ".$mime_type."; name=\"$attach_name\"\n";
$msg_body .= "Content-Transfer-Encoding: base64\n";
$msg_body .= "Content-disposition: attachment; filename=\"".$attach_name."\"\n\n";
$msg_body .= "$file_encoded\n";
$msg_body .= "--".$boundary."\n";
// Inclusione del corpo in formato HTML
$msg_body .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$msg_body .= "Content-transfer-encoding: 7BIT\n";
$msg_body .= "Content-Description: Mail message body\n\n";
$msg_body .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
$msg_body .= "<html><head>\n";
$msg_body .= "<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n";
$msg_body .= "<body bgcolor=\"".$body_color."\">\n";
$msg_body .= $body; // Corpo del messaggio passato tramite form
$msg_body .= "</body></html>\n";
$msg_body .= "--".$boundary."\n";
if (!(@mail($dest,$subject,$msg_body,$msg_headers)))
{echo "E-Mail non inviata";}
else {echo "E-Mail inviata";}
?>
Ripeto: L'e-mail inviata con questo script la riesco a visualizzare bene se scarico la posta con Outlook ma visualizzo il codice tale e quale da sotto l'intestazione in poi se invece leggo l'e-mail dal browser.
questa pillola e propio quello che cercavo grazie
La mia necessità è di inserire un form su un sito per la richiesta di informazioni. Non è neccesario che venga richiesta la validazione dell'indirizzo e-mail o di altri campi. In sostanza il punto è questo: devo partire da una form in HTML così fatta e con i campi indicati:
<table border="0" cellspacing="0" cellpadding="0" width="480">
<FORM ACTION="mail.php" METHOD="POST">
<tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">
Nome</font></td>
</tr>
<tr>
<td align="center" valign="top">
<input type="text" name="MailFromAddress">
</td>
</tr>
<tr>
<td align="center" valign="top" height="5" width="480">[img]img/img_con.gif[/img]</td>
</tr>
<tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">Cognome</font></td>
</tr>
<tr>
<td align="center" valign="top">
<input type="text" name="Cognome" maxlength="255" size="35">
</td>
</tr>
<tr>
<td align="center" valign="top" width="480" height="5">[img]img/img_con.gif[/img]</td>
</tr>
<tr>
<tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">Destinatario</font></td>
</tr>
<tr>
<td align="center" valign="top">
<input type="text" name="MailToAddress" Value="miamail@miamail.it">
</td>
</tr>
<tr>
<td align="center" valign="top" width="480" height="5">[img]img/img_con.gif[/img]</td>
</tr>
<tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">Città</font></td>
</tr>
<tr>
<td align="center" valign="top" height="29">
<input type="text" name="Città" maxlength="255" size="35">
</td>
</tr>
<tr>
<td align="center" valign="top" width="480" height="5">[img]img/img_con.gif[/img]</td>
</tr>
<tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">Telefono</font></td>
</tr>
<tr>
<td align="center" valign="top">
<input type="text" name="Telefono" maxlength="255" size="35">
</td>
</tr>
<tr>
<td align="center" valign="top" width="480" height="5">[img]img/img_con.gif[/img]</td>
</tr>
<tr>
<td align="center" valign="top"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF" class="Testo">Indirizzo
<font face="Times New Roman, Times, serif"> <font color="#000000">E-mail</font></font>
mittente</font></td>
</tr>
<tr>
<td align="center" valign="top">
<input type="text" name="Email" maxlength="255" size="35">
</td>
</tr>
<tr>
<td align="center" valign="top" width="480" height="5">[img]img/img_con.gif[/img]</td>
</tr>
<td align="center" valign="top"><font face="Times New Roman, Times, serif" size="2" color="#000000" class="Testo">Messaggio</font>:
s
</td>
</tr>
<tr>
<td align="center" valign="top">
<textarea name="Messaggio" cols="35" rows="4"></TEXTAREA>
</div></TD>
</TR>
<TR>
<TD align=middle vAlign=top><div align="center"></div></TD>
</TR>
<TR>
<TD align=middle vAlign=top><div align="center">
<INPUT type=submit VALUE=" Invia Mail ">
</div></TD>
</TR>
</FORM>
<div align="center"></div></TABLE>
Questa form in HTML richiama un file "mail.php" di cui appunto non so scrivere il codice e, molto probabilmente, anche il codice del form HTML deve essere modificato in funzione del file "mail.php".
Il mio interesse è che arrivino nella mail del destinatario tutti i dati inseriti.
Per caso sai fornirmi il codice esatto del form HTML e anche del file "mail.php"?
Grazie mille Francesca