Facendo varie ricerche ho trovato queste righe da inserire nell'header:
$headers .= 'Return-Receipt-To: <ma...@sito.it>\n';
$headers .= 'X-Confirm-Reading-To: <ma...@sito.it>\n';
$headers .= 'Disposition-Notification-To: <ma...@sito.it>\n';
Ma sembra che vengano del tutto ignorate, nell'header della mail ricevuta
non c'è traccia di queste righe e naturalmente non mi chiede la conferma di
lettura.
La mail viene spedita da un server linux
Avete qualche indicazione?
Grazie
--
Nadia
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
non rompere le scatole, aprile!
www.maipiusenza.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> $headers .= 'Return-Receipt-To: <ma...@sito.it>\n';
> $headers .= 'X-Confirm-Reading-To: <ma...@sito.it>\n';
> $headers .= 'Disposition-Notification-To: <ma...@sito.it>\n';
>
> Ma sembra che vengano del tutto ignorate, nell'header della mail
> ricevuta non c'h traccia di queste righe e naturalmente non mi chiede
> la conferma di lettura.
>
> La mail viene spedita da un server linux
>
> Avete qualche indicazione?
Posta tutto il codice.
--
Vuoi distribuire il tuo sito web su CD/DVD?
Prova http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: http://www.creativepark.it/stage/
eccolo: (quelle tre righe ho provato a inserirle in vari punti dell'header
ma non è cambiato nulla)
Grazie
<?php
function sendMail(){
$to_name = 'nadia';
$from_name = 'mittente';
$subject = 'prova mail AR';
$body = 'testo della mail';
$to_email = 'destin...@sito.it';
//Let's start our headers
$headers = "From: $from_name <" . 'ma...@sito.it' . ">\n";
$headers .= "Reply-To: <" . 'ma...@sito.it' . ">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related;
type=\"multipart/alternative\";
boundary=\"----=MIME_BOUNDRY_main_message\"\n";
$headers .= "X-Sender: $from_name <" . 'ma...@sito.it' . ">\n";
$headers .= "X-Mailer: PHP4\n";
//
//if (checkbox_form.checkbox[counter].checked)
$headers .= 'Return-Receipt-To: <ma...@sito.it>\n';
$headers .= 'X-Confirm-Reading-To: <ma...@sito.it>\n';
$headers .= 'Disposition-Notification-To: <ma...@sito.it>\n';
//
$headers .= "X-Priority: 3\n"; //1 = Urgent, 3 = Normal
$headers .= "Return-Path: <" . 'ma...@sito.it' . ">\n";
$headers .= "This is a multi-part message in MIME format.\n";
$headers .= "------=MIME_BOUNDRY_main_message \n";
$headers .= "Content-Type: multipart/alternative;
boundary=\"----=MIME_BOUNDRY_message_parts\"\n";
$message = "------=MIME_BOUNDRY_message_parts\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";
$message .= "\n";
/* Add our message, in this case it's plain text. You could also add HTML
by changing the Content-Type to text/html */
$message .= "$body\n";
$message .= "\n";
$message .= "------=MIME_BOUNDRY_message_parts--\n";
$message .= "\n";
$_tmpname = 'punto.swf';
$_filename = 'punto.swf';
$fp = fopen($_tmpname, "rb"); //Open it
$data = fread($fp, filesize($_tmpname)); //Read it
$data = chunk_split(base64_encode($data)); //Chunk it up and encode it as
base64 so it can emailed
$message .= "------=MIME_BOUNDRY_main_message\n";
$message .= "Content-Type: application/octet-stream;\n\tname=\"" .
$_filename . "\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment;\n\tfilename=\"" . $_filename
. "\"\n\n";
$message .= $data; //The base64 encoded message
$message .= "\n\n";
fclose($fp);
$message .= "------=MIME_BOUNDRY_main_message--\n";
// send the message
$ok = mail("$to_name <$to_email>", $subject, $message, $headers);
if ($ok == 1) {
print "Mail sent to $to_name ($to_email).";
} else {
print "Mail did not send. Please press the <b>back</b> button and
re-submit the e-mail.";
}
}
sendMail();
?>
> eccolo: (quelle tre righe ho provato a inserirle in vari punti
> dell'header ma non h cambiato nulla) Grazie
Perche' non utilizzi una classe gia' pronta tipo phpmailer che fornisce
le stesse funzioni (ed anche di piu') gia' testate e funzionanti per la
maggior parte di server e client?
> Perche' non utilizzi una classe gia' pronta tipo phpmailer che fornisce
> le stesse funzioni (ed anche di piu') gia' testate e funzionanti per la
> maggior parte di server e client?
Perchè l'invio mail mi serve solo in quella pagina e mi sembra inutile
caricare un file da 50 KB quando basta prendere i pezzi che mi servono e
cavarmela con 3KB.
Comunque phpmailer per la ricevuta di ritorno inserisce nell'header:
$result .= $this->HeaderLine('Disposition-Notification-To', '<' .
trim($this->ConfirmReadingTo) . '>');
l'ho provato e come output ho:
...
X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.0 rc3]
Disposition-Notification-To: <mitt...@sito.it>
MIME-Version: 1.0
...
Ma nessuna notifica.
Nessuno ha uno script testato che funzioni con la conferma di lettura?
Grazie
> Perchh l'invio mail mi serve solo in quella pagina e mi sembra
> inutile caricare un file da 50 KB quando basta prendere i pezzi che
> mi servono e cavarmela con 3KB.
L'importante e' che quei 3 Kb funzionino, non ti sembra?
Ha provato questo codice e funziona perfettamente.
<?php
$to = 'nob...@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webm...@example.com' . "\r\n" .
'Disposition-Notification-To: <nob...@example.com>' . "\r\n";
mail($to, $subject, $message, $headers);
?>
> L'importante e' che quei 3 Kb funzionino, non ti sembra?
Su questo non ci piove, per questo chiedevo aiuto :-)
> Ha provato questo codice e funziona perfettamente.
>
...
> $headers = 'From: webm...@example.com' . "\r\n" .
> 'Disposition-Notification-To: <nob...@example.com>' . "\r\n";
Non mi chiedere spiegazioni, ma se, prendendo spunto dal tuo codice e
inserisco:
$intestazioni = "From: " . $da . "\r\n" .
'Disposition-Notification-To: <' . $da . '>';
funziona tutto anche a me, mentre come l'avevo provato io:
$intestazioni = "From: " . $da . "\r\n";
$intestazioni .= 'Disposition-Notification-To: <' . $da . '>';
L'output dovrebbe essere identico... eppure in un caso va e nell'altro no.
Grazie dell'aiuto!