Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Simulare un server SMTP per inviare Mail

    Ciao a tutti mi sono accorto che è andata persa una spiegazione che ho trovato qui sul forum qualche anno fa.

    L'articolo in questione spiegava nel dettaglio come fare a simulare un server SMTP in locale.

    Comunque visto che ho notato che la richiesta di spiegazioni aumenta sempre di più vi spiego come fare a testare la funzione Mail di PHP.
    Attenzione che non parlerò della classe Di PHP5.


    OK iniziamo come prima cosa bisogna scaricare un programma che ha creato Salvatore De Bonis nel 2005 che si chiama sendmail.
    Il file rar e quello zip sono reperibili sul mio sito sendmail.rar
    sendmail.zip


    Ora dopo aver scaricato il file bisogna configurare il php.ini per far capire dove si trova il server.

    Fate cosi:

    Create la cartela "mail" in c:\
    e copiate tutto il contenuto della cartella che avete decompresso.

    Per capirci dovrete spostare i 3 file (instruzioni.txt , sendmail.cpp , sendmail.exe ) nella cartella mail. Anche se basterebbe solo il file sendmail.exe


    Aprite il php.ini e cercate la stringa "[mail function]":

    Troverete qualcosa del genere:
    codice:
        [mail function]
        ; For Win32 only.
        SMTP = localhost
        
        ; For Win32 only.
        sendmail_from = me@localhost.com
        
        ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
        ;sendmail_path =
    modificatele come segue:

    codice:
        [mail function]
        ; For Win32 only.
        ;SMTP = localhost
        
        ; For Win32 only.
        ;sendmail_from = me@localhost.com
        
        ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
        sendmail_path = c:\mail\sendmail.exe c:\mail\
    Qualora non doveste trovate "[mail function]" aggiungete alla fine del file:

    codice:
        [mail function]
        sendmail_path = c:\mail\sendmail.exe c:\mail\

    fatto ciò basterà solo provare la funzione mail.

    mail(destinatario,oggetto,testo,mittente, ecc);
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  2. #2

    Come si inviano le Mail in PHP

    allora per spedire solo mail con testo semplice fate cosi:
    Codice PHP:
     $Destinatario         "destinatario@mail.it";
     
    $Oggetto         ="oggetto mail" ;
     
     
    $testo         "testo della mail"
     
    $mittente         "From: [email]mittente@mail.it[/email]\r\n"."X-Mailer: PHP/" phpversion(); 

    mail$Destinatario $Oggetto$testo $mittente); 
    Invece per mandare mail in HTML basta fare cosi:

    Codice PHP:

    <?php
    //Invio di mail complessa.
    /* destinatari */
    $destinatari .= "Maria <maria@example.com>" ", " // notare la virgola
    $destinatari .= "Enrica <enrica@example.com>";
    /* oggetto */
    $oggetto "Promemoria compleanni per Settembre";
    /* messaggio */
    $messaggio ="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
    <html xmlns='http://www.w3.org/1999/xhtml'>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
    <title>Mail in php</title>
    <style>
    body 
    {
        font-family: Arial, sans-serif;
        font-size: 13px;
        color: #333333;


    .....
    </style>

    </head>

    <body>
    ......
    </body>
    </html>

    "
    ;
    /* Per inviare email in formato HTML, si deve impostare l’intestazione Contenttype.
    */
    $intestazioni "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    /* intestazioni addizionali */
    $intestazioni .= "From: Promemoria Compleanni <compleanni@example.com>\r\n";
    $intestazioni .= "Cc: [email]archiviocompleanni@example.com[/email]\r\n";
    $intestazioni .= "Bcc: [email]controllocompleanni@example.com[/email]\r\n";
    /* ed infine l’invio */
    mail($destinatari$oggetto$messaggio$intestazioni);

    echo 
    "Mail inviata a ".$destinatari."
     Il testo della mail é 
    "
    .$messaggio;
    /*
        Nota: Assicurarsi di non avere nessun carattere di newline nei parametri a o oggetto, o la mail  non verrà spedita correttamente.
    */
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  3. #3
    vi segalo anche a riguardo il link alla pillola



    MAIL IN HTML CON ALLEGATO
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    ho controllato anche la pillola... e i parametri nel php.ini sono corretti...

    ho provato ad utilizzare questo esempio...

    in locale funziona benissimo, online alcune email non me le invia

    Codice PHP:
    require("class.phpmailer.php");

    $mail = new PHPMailer();

    $mail->From     "list@mydomain.com";
    $mail->FromName "List manager";
    $mail->Host     "smtp1.site.com;smtp2.site.com";
    $mail->Mailer   "smtp";

    @
    MYSQL_CONNECT("localhost","root","password");
    @
    mysql_select_db("my_company");
    $query  "SELECT full_name, email, photo FROM employee WHERE id=$id";
    $result = @MYSQL_QUERY($query);

    while (
    $row mysql_fetch_array ($result))
    {
        
    // HTML body
        
    $body  "Hello <font size=\"4\">" $row["full_name"] . "</font>, 

    "
    ;
        
    $body .= "[i]Your[/i] personal photograph to this message.

    "
    ;
        
    $body .= "Sincerely, 
    "
    ;
        
    $body .= "PHPMailer List manager";

        
    // Plain text body (for mail clients that cannot read HTML)
        
    $text_body  "Hello " $row["full_name"] . ", \n\n";
        
    $text_body .= "Your personal photograph to this message.\n\n";
        
    $text_body .= "Sincerely, \n";
        
    $text_body .= "PHPMailer List manager";

        
    $mail->Body    $body;
        
    $mail->AltBody $text_body;
        
    $mail->AddAddress($row["email"], $row["full_name"]);
        
    $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");

        if(!
    $mail->Send())
            echo 
    "There has been a mail error sending to " $row["email"] . "
    "
    ;

        
    // Clear all addresses and attachments for next loop
        
    $mail->ClearAddresses();
        
    $mail->ClearAttachments();

    NON ABBANDONATE CANI O GATTI!!!

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    barman, ma quello che hai descritto non è la simulazione di SENDMAIL ?

    mi spiego...

    in php, da quello che sò, ci sono almeno 2 modi per inviare mail, (del terzo nn sono sicuro )

    tramite sendmail

    tramite mail

    mail io lo uso correttamente in locale, mi è bastato configurare il server SMTP nei parametri del php.ini con quelli dati dalla mia linea adsl e ha funzionato bene....

    ma perchè usi un simulatore sendmail se poi chiami l' invio della mai con mail?? :master:
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Perché questo simulatore mi crea la mail e la salva come file di email.

    La uso per testare le mail se vengono bene o meno anche senza avere internet collegato.

    Penso sia comodo tutte quelle volte che devi fare girare uno scrpt e non puoi collegarti ad internet.
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  7. #7

    Re: Come si inviano le Mail in PHP

    Originariamente inviato da Barman@83
    Ciao a tutti mi sono accorto che è andata persa una spiegazione che ho trovato qui sul forum qualche anno fa.

    L'articolo in questione spiegava nel dettaglio come fare a simulare un server SMTP in locale.
    non e' andato perso per niente.... e' in rilievo tra i tips & tricks

    http://forum.html.it/forum/showthrea...hreadid=831626

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8

    Re: Re: Come si inviano le Mail in PHP

    Originariamente inviato da piero.mac
    non e' andato perso per niente.... e' in rilievo tra i tips & tricks

    http://forum.html.it/forum/showthrea...hreadid=831626
    SORRY
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.