+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Inviare una Mail in formato HTML

  1. #1
    motoboy non è in linea Scribacchino
    Ciao a tutti
    mi sto avvicinando pian pianino al linguaggio interprete, quale il PHP.
    Vorrei realizzare un progetto che mi spedisca delle mail, affinchè riesca sia a leggerle, sia con Outlook sia semplicemente da Internet.
    Ho trovato qualche sorgente in giro che mi spedisce mail con allegato ( quello che preferirei )
    ma quando mando la mail, arriva su Outlook in formato (allegato come l'Arabo) e la mail con tutti gli hearders.

    Qualcuno mi sa indicarmi qualche LINK dove io possa scaricare un Sorgente per iniziare a capire come funziona..

    Vi ringrazio anticipatamente
    ℹ️ Leggi di più su motoboy ...

  2. #2
    L'avatar di bottomap
    bottomap non è in linea Amanuense
    Ciao,

    Credo che qua: PHP: Sending Email (Text/HTML/Attachments)
    Tu possa trovare praticamente tutto quello che ti serve... controlla le funzioni utilizzate sull'help php per maggiori approfondimenti.

    Per essere sicuro di iniviare un messaggio con attachment corretto assicurati di:
    - Nell'header il Content-Type dovrebbe essere multipart/mixed; (in modo da gestire testo/html e un attachment)
    - il boundary nell'header fa riferimento all'inizio del messaggio (che poi viene marcato come un contenitore ed a sua volta fa riferimento al primo elemento)
    - l'attachment va encodato base64 (con la funzione apposita di php)
    - per ognuna delle sezioni va specificato almeno il Content-Type, per il testo/html anche charset e Content-Transfer-Encoding
    - Per l'attachment deve essere Content-Transfer-Encoding: base64 e Content-Disposition: attachment

    Il tutto comunque dovrebbe risultare chiaro nell'articolo che ho segnalato... ti interessa soprattutto il terzo esempio.

    Ciaociao
    ℹ️ Leggi di più su bottomap ...

  3. #3
    motoboy non è in linea Scribacchino
    grazie.. gentilissimo. E' quello che infatti cercavo.. ma questo è già precompilato..
    Sinceramente essendo ai primi passettini ne cercavo uno da compilare CAMPO per CAMPO con la possibilità di inserire + di un allegato.. e il Collegamento a questo .PHP che mi spediva il tutto

    Grazie comunque..
    ℹ️ Leggi di più su motoboy ...

  4. #4
    L'avatar di bottomap
    bottomap non è in linea Amanuense
    Ciao,

    Beh, direi che non dovresti trovare difficoltà partendo dal terzo esempio, modificando from e to e cominciando a fare test su test inviandoti messaggi...

    Eventualmente parti dalle basi (il primo esempio) e vedi pian piano come arrivare al terzo... alla fine dei conti non sono moltissime cose da fare e in quanto si legge nell'articolo c'è quasi più commento che codice (!). Potresti pian piano incapsulare gli elementi di base in funzioni e, alla fine, arrivare a qualcosa tipo function manda_mail($from, $to, $text, $allegati=array(...)).

    Ciaociao
    ℹ️ Leggi di più su bottomap ...

  5. #5
    motoboy non è in linea Scribacchino
    ti ringrazio.. sono riuscito a comporre tutto ciò:

    HTML:
    codice HTML:
    <head>
    </head>
    
    <form action="semplice.php" method="POST" enctype="multipart/form-data">
    <p>
    <table border="0">
    <tr>
      <td><font face="Franklin Gothic Medium">Tua Mail:</font></td>
      <td><input type="text" name="mittente" value="" /></td>
    </tr>
    <tr>
      <td><font face="Franklin Gothic Medium">Destinatario:</font></font></td>
      <td><input type="text" name="$to" value="" /></td>
    </tr>
    <tr>
      <td><font face="Franklin Gothic Medium">Oggetto:</font></td>
      <td><input type="text" name="$subject" value="" /></td>
    </tr>
    <tr>
      <td><font face="Franklin Gothic Medium">Messaggio:</font></td>
      <td><textarea cols="20" rows="4" name="messaggio"></textarea></td>
      </tr>
    <tr>
      <td><font face="Franklin Gothic Medium">Allega file:</font></td>
      <td><input type="file" name="$attachment" /></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" value="Invia" /></td>
    </tr>
    </table>
    </form>
    e poi il file PHP:

    Codice PHP:
    <?php 
    //define the receiver of the email 
    $to ''
    //define the subject of the email 
    $subject ''
    //create a boundary string. It must be unique 
    //so we use the MD5 algorithm to generate a random hash 
    $random_hash md5(date('r'time())); 
    //define the headers we want passed. Note that they are separated with \r\n 
    $headers "Da: webmaster@example.com\r\nReply-To: webmaster@example.com"
    //add boundary string and mime type specification 
    $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\""
    //read the atachment file contents into a string,
    //encode it with MIME base64,
    //and split it into smaller chunks
    $attachment chunk_split(base64_encode(file_get_contents(''))); 
    //define the body of the message. 
    ob_start(); //Turn on output buffering 
    ?> 
    --PHP-mixed-<?php echo $random_hash?>  
    Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash?>

    --PHP-alt-<?php echo $random_hash?>  
    Content-Type: text/plain; charset="iso-8859-1" 
    Content-Transfer-Encoding: 7bit

    Hello World!!! 
    This is simple text email message. 

    --PHP-alt-<?php echo $random_hash?>  
    Content-Type: text/html; charset="iso-8859-1" 
    Content-Transfer-Encoding: 7bit

    <h2>Hello World!</h2> 
    <p>This is something with <b>HTML</b> formatting.</p> 

    --PHP-alt-<?php echo $random_hash?>-- 

    --PHP-mixed-<?php echo $random_hash?>  
    Content-Type: application/zip; name="attachment.zip"  
    Content-Transfer-Encoding: base64  
    Content-Disposition: attachment  

    <?php echo $attachment?> 
    --PHP-mixed-<?php echo $random_hash?>-- 

    <?php 
    //copy current buffer contents into $message variable and delete current output buffer 
    $message ob_get_clean(); 
    //send the email 
    $mail_sent = @mail$to$subject$message$headers ); 
    //if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
    echo $mail_sent "Mail sent" "Mail failed"
    ?>
    ovviamente solo il primo é ROBA mia, sono riuscito a farlo piano piano
    qualcuno mi aiuta ad unirli.. graziee
    ℹ️ Leggi di più su motoboy ...

  6. #6
    milcon non è in linea Novello
    ciao,
    quello che hai copiato dal link di bottomap, quindi il tuo sempice.php lo metti nella stessa cartella del form da te fatto in html, che tramite action si richiamano.
    Anche se io la parte del form la farei così:
    Codice PHP:
    <form method="POST" enctype="multipart/form-data" action="semplice.php."

  7. #7
    motoboy non è in linea Scribacchino
    ti ringrazio..

    lavorando sul codice etc:

    mi é venuto un dubbio..

    Codice HTML:
    codice HTML:
    <tr>
      <td><font face="Franklin Gothic Medium">Allega file:</font></td>
      <td><input type="file" name="allegato" /></td>
    </tr>
    tornando al PHP:

    Codice PHP:
    $attachment chunk_split(base64_encode(file_get_contents($_POST['allegato']))); 
    poi..

    Codice PHP:
    Content-Typeapplication/zipname=allegato
    ma non va come voglio..
    Ho provato a spedire una foto, la foto via mail arriva, ma secondo me i Bytes non vengono trasferiti..

    Mi spiegate per quale motivo e dove sbaglio..

    grazie
    ℹ️ Leggi di più su motoboy ...

  8. #8
    L'avatar di bottomap
    bottomap non è in linea Amanuense
    Ciao,

    La input type=file è l'unica eccezione alla regola che i dati di una form ti arrivano in post. Il file ti dovrebbe arrivare nell'array autoglobale $_FILE.

    Prendi spunto da questo articolo: PHP Tutorial - File Upload
    L'articolo parla di un uploader (per trasferire un file sul server), ma la cosa si applica senza problemi anche se devi usare il file come allegato di una mail...

    PS: Sul forum c'è comunque qualche altra discussione riguardante l'upload di file e più in generale l'array $_FILE

    Ciaociao
    Ultima modifica di bottomap; 06-12-2008 00:26 
    ℹ️ Leggi di più su bottomap ...

  9. #9
    motoboy non è in linea Scribacchino
    ciao.. ho visto l'esempio del UPLOAD.. ma anche copiando il codice e inserendolo in un HOSTING, non funge nulla... mi da anche errore. Parlo dell'ESEMPIO dell'UP. Anche perchè attraverso questo esempio avrei capito come funziona..

    ho anche creato la directory come dice nelle istruzioni in inglese..
    ℹ️ Leggi di più su motoboy ...

  10. #10
    L'avatar di bottomap
    bottomap non è in linea Amanuense
    Ciao,

    Potresti riportare con esattezza l'errore che ottieni, eventualmente assieme al codice che hai scritto... no?
    Difficile darti una mano se non possiamo farci un'idea del problema...

    La cosa può dipendere:
    - da qualche errore banale nel copiare il codice dell'esempio
    - da un file troppo grande (lascia perdere max_filesize, il limite vero lo dovresti avere nel php.ini)
    - da quanto richiede il trasferimento (c'è comunque un timeout massimo)
    - da altri parametri nel php.ini (c'è anche una dimensione massima per la memoria che, talvolta, influisce - c'è una openbasedir e la cartella da considerare root)
    - da una specifica errata per la cartella di destinazione

    Inoltre, come scritto nell'articolo, non usare quel codice su sito web accessibile a tutti... visto che non c'è alcun controllo, ad installare sul tuo server una shell remota o ammennicoli similari ci si mette veramente poco. Le prove falle in locale... quando e se vuoi attivare un uploader dovrai aggiungere le debite autorizzazioni, altrimenti chiunque voglia può usare il tuo sito come deposito per malware, virus e simili amenità (se non, direttamente, impadronirsi proprio di ogni cosa).

    Ciaociao
    ℹ️ Leggi di più su bottomap ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Inviare mail via VBA
    Da Jocman nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 13-06-2016, 11:15
  2. Inviare URL in PHP con mail()
    Da schizzechea nel forum PHP
    Risposte: 4
    Ultimo Post: 14-10-2008, 10:00
  3. inviare report via e-mail
    Da Argo983 nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 31-07-2008, 16:04
  4. inviare mail
    Da massimo74rn nel forum ASP 3, ASP .Net
    Risposte: 1
    Ultimo Post: 24-07-2008, 20:38
  5. inviare e-mail
    Da Diabolik nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 03-11-2005, 21:05