Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46

    gestire gmail con php e imap

    Salve a tutti. Vorrei riuscire a mandare email con php collegandomi al mio account gmail. Da quello che ho capito non ci vuole molto, basta usare un paio di funzioni imap. Ecco il codice:

    codice:
    $server = '{imap.gmail.com:993/ssl/novalidate-cert}';  
    $login = 'miamail@gmail.com'; 
    $password = 'miapass'; 
    $connessione = imap_open($server, $login, $password);
    Fin qui tutto ok. La connessione va, riesco a leggere quante email ho nella casella di posta. il problema è riuscire a mandare l'email... ho capito che si usa la funzione imap_mail($to,$subject,$body [,$headers]). Io faccio così:

    codice:
    $to="email@dominio.it"; 
    $subject="Admin"; 
    $headers = "From: miamail@gmail.com\r\n"."Reply-To: miamail@gmail.com\r\n"; 
    $body="prova"; 
    $invio=imap_mail($to,$subject,$body,$headers);
    Il risultato è questo errore:

    Warning: imap_mail() [function.imap-mail]: No to field in mail command on line 57.
    Aiutatemi per favore!! Non so che fare...

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    ok come non detto... ce l'ho fatta... c'ho sbattuto la testa un paio di giorni. Ho cambiato metodo però: ho scaricato phpmailer e ho usato le sue funzioni per mandare messaggi con un account gmail. Posto il codice, magari può essere d'aiuto a qualcuno:

    codice:
    include "../phpmailer/class.phpmailer.php";
    $mail = new PHPmailer();
    $mail->IsSMTP(); // telling the class to use SMTP 
    $mail->Mailer = "smtp"; 
    $mail->Host = "ssl://smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->SMTPAuth = true; // turn on SMTP authentication 
    $mail->Username = "username@gmail.com"; // SMTP username 
    $mail->Password = "miapass"; // SMTP password 
    $mail->From = "username@gmail.com"; 
    $mail->AddAddress($destinatario); 
    $mail->Subject = "First PHPMailer Message"; 
    $mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer."; 
    $mail->WordWrap = 50; 
    if(!$mail->Send()) 
    { 
        echo 'Message was not sent.'; 
        echo 'Mailer error: ' . $mail->ErrorInfo; 
    } 
    else 
    { 
        echo 'Message has been sent.'; 
    }
    se così non dovesse andare, basta modificare il file php.ini così:

    ;[...]
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = ssl://smtp.gmail.com

    ; http://php.net/smtp-port
    smtp_port = 465

    ; For Win32 only.
    ; http://php.net/sendmail-from
    sendmail_from = username@gmail.com
    ;[...]

    e decommentare (togliere il punto e virgola) nell'estensione:
    extension=php_openssl.dll

    spero sia utile... in effetti il titolo del topic dovrebbe essere cambiato... grazie lo stesso!

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.