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

    Problema invio email con funzione mail()

    Buongiorno a tutti,

    ho inserito in un form il codice per inviare una email in automatico (premetto che sono un autodidatta), ebbene l'email viene inviata regolarmente, però nel campo from anzichè ricevere l'indirizzo email che ho inserito nel codice (nell'esempio "mittente@miosito.it ") ricevo la seguente scritta:
    user @dominio_mio_provider.com per conto di [mittente@miosito.it ]

    Dove "user " corrisponde alla username per accedere al pannello di controllo del mio sito e
    "dominio_mio_provider " ho scoperto che corrisponde corrisponde all'indirizzo IP del mio dominio, penso quindi dove è dislocato fisicamente il server dove io ho il mio piano di Hosting.

    La domanda è la seguente, è possibile far comparire in From solo il mio indirizzo di posta elettronica? (mittente@miosito.it ).

    Riporto di sotto un esempio del codice che ho utilizzato.

    Grazie

    Fabio

    <?php
    $to = 'destinatario@miosito.it';

    $subject = 'Prova invio email';

    $message = 'Prova del 02/04/2013';

    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    $headers .= 'From: <mittente@miosito.it>' . "\r\n";

    mail($to, $subject, $message, $headers);
    ?>

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    o invii tramite il server smtp di miosito.it autenticandoti se necessario oppure devi creare inserire un record TXT nei dns del tuo dominio

    codice:
    v=spf1 include:hotmail.com ~all
    dove al posto di hotmail.com, indicherai il server che è adibito all'invio delle mail.

  3. #3
    Innanzitutto ti ringrazio per l'aiuto, come ti dicevo non sono un esperto, volevo quindi chiederti secondo te qual'è la cosa migliore tra utilizzare il server SMTP o creare un record TXT nei DNS (considerando anche la mia inesperienza).
    Forse per le mie conoscenze e meglio utilizzare il server SMTP, anche perchè da quello che ho capito si tratta semplicemente di specificare nel codice il mio server SMTP.
    Eventualmente come faccio a specificare nel codice PHP il nome del server? (ovvero qual'è la sintassi da utilizzare?).
    Grazie

  4. #4
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Ti consiglio di utilizzare una classe blasonata per questi casi, ovvero phpmailer. http://phpmailer.worxware.com/

  5. #5
    Ok ci provo, per ora grazie.

  6. #6
    Ho provato a riscrivere il codice ed ora sono riuscito ad inviare l'email tramite il server SMTP, ora però non riesco a risolvere il seguente problema, ovvero il testo del messaggio mi viene riportato nell'email senza l'interpretazione dei caratteri e del codice html (presumo che devo inserire un comando per codificarli ma non so come si fa).
    Non penso di essermi spiegato bene, riporto il codice e ciò che mi compare a video:

    ** QUESTO E' IL CODICE **

    $messaggio1="<html>
    <style type='text/css'>
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    }
    <body>

    <hr size='1'>


    <font size='2' color='#666666' face='verdana'>Egr. Sig. ".$nome." ".$cognome.",</p>


    come prima cosa ......,
    </body>
    </html>";

    $mess1=stripslashes($messaggio1);
    require_once "Mail.php";
    $from = "Pippo <pippo@miosito.it>";
    $subject = "Email automatica - ....";
    $host = "mail.miosito.it";
    $username = "mia_username";
    $password = "nia_password";
    $headers = array ('From' => $from,
    'To' => $mailcliente,
    'Subject' => $subject);
    $smtp = Mail::factory('smtp',
    array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));
    $mail = $smtp->send($mailcliente, $headers, $mess1);

    Quindi anzichè comparirmi un messaggio con i vari font e colori, mi compare un messaggio con tutti i comandi html.

    ** QUESTO E' IL TESTO CHE MI COMAPRE NELL'EMAIL **
    <html>
    <style type='text/css'>
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    }
    <body>

    <hr size='1'>


    <font size='2' color='#666666' face='verdana'>Egr. Sig. ".$nome." ".$cognome.",</p>


    come prima cosa ......,
    </body>
    </html>

  7. #7
    prova cosi:

    $messaggio1="<html>
    <style type='text/css'>
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    }
    <body>

    <hr size='1'>


    <font size='2' color='#666666' face='verdana'>Egr. Sig. ".$nome." ".$cognome.",</p>


    come prima cosa ......,
    </body>
    </html>";

    $mess1=stripslashes($messaggio1);
    require_once "Mail.php";
    $from = "Pippo <pippo@miosito.it>";
    $subject = "Email automatica - ....";
    $host = "mail.miosito.it";
    $username = "mia_username";
    $password = "nia_password";
    $headers = array ('From' => $from,
    $headers .="Content-type: text/html; charset=ISO-8859-1 ";
    'To' => $mailcliente,
    'Subject' => $subject);
    $smtp = Mail::factory('smtp',
    array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));
    $mail = $smtp->send($mailcliente, $headers, $mess1);

  8. #8
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Devi specificare che stai inviando una mail in html.

    Quella classe che stai suando non la conosco, mi sembra abbastanza ostica come usabilità.

    Ripeto, usa phpmailer.

  9. #9
    Avevo trovato quel codice e lo avevo adattato alle mie esigenze, mi sembrava funzionale e facile da capire.
    In realtà funziona tutto l'unica cosa che non so come fare e dirgli che il testo dell'email è in formato html.
    Il phpmailer lo avevo scartato poichè da quello che avevo capito bisognava installare dei file nella root del sito e poi bisognava configurare qualcosa (mi sembrava quindi più macchinoso).
    A questo punto cercherò di approfondire phpmailer.
    ciao e grazie

    PS per coinfeuropea ho inserito la riga da te segnalata ma purtroppo non si risolve il problema, grazie comunque.

  10. #10
    Ciao,
    ho lo stesso problema, nel senso che arriva il messaggio con il nome del usuario associato al cPanel.
    Questo succede solo con Outlook, se scarichi la posta con mail per esempio il mittente appare come lo metti nello script.
    La riga segnalata era per dire allo script di utilizzare html e non testo puro.
    Non ha niente a che vedere con il mittente della mail php.
    Davo per scontato che la classe risolvesse il problema del mitente.

    puoi fare questa prova:


    require_once "Mail.php";
    $from = "Pippo <pippo@miosito.it>";
    $subject = "Email automatica - ....";
    $host = "mail.miosito.it";
    $username = "mia_username";
    $password = "nia_password";
    $headers = array ('From' => $from,
    $headers .="Content-type: text/html; charset=ISO-8859-1 ";
    'To' => $mailcliente,
    'Subject' => $subject);
    $smtp = Mail::factory('smtp',
    array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

    $messaggio1="<html>
    <style type='text/css'>
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    }
    <body>

    <hr size='1'>


    <font size='2' color='#666666' face='verdana'>Egr. Sig. ".$nome." ".$cognome.",</p>


    come prima cosa ......,
    </body>
    </html>";

    $mess1=stripslashes($messaggio1);
    $mail = $smtp->send($mailcliente, $headers, $mess1);


    p.s. Mail.php e' con la emme maiuscula?

    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.