Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema invio email

  1. #1

    Problema invio email

    Salve a tutti,
    come da titolo, ho un problema che riguarda l'invio di email con php.
    Ho installato e configurato il mail server hMailServer, ho quindi fatto una prova eseguendo il codice
    Codice PHP:
    <?php
        $header
    ="From: Mittente<indirizzo>\n";
        
    $header.="MIME-Version: 1.0\n";
        
    $header.="Content-Type: text/html; charset=\"iso-8859-1\"\n";
        
    $header.="Content-Transfer-Encoding: 7bit\n\n";
        
    $oggetto="oggetto del messaggio";
        
    $messaggio="testo del messaggio vero e proprio";
        if(
    mail("destinatario",$oggetto,$messaggio,$header)) echo('Ok');
        else echo(
    'No');
    ?>
    Viene regolarmente stampato Ok.
    Anche guardando il log del mailserver sembra tutto a posto:
    codice:
    "SMTPD"    5752    17    "2010-10-03 15:05:05.459"    "127.0.0.1"    "SENT: 220 localhost ESMTP"
    "SMTPD"    6044    17    "2010-10-03 15:05:05.459"    "127.0.0.1"    "RECEIVED: HELO COMPUTER-F"
    "SMTPD"    6044    17    "2010-10-03 15:05:05.459"    "127.0.0.1"    "SENT: 250 Hello."
    "SMTPD"    5752    17    "2010-10-03 15:05:05.459"    "127.0.0.1"    "RECEIVED: MAIL FROM:<indirizzo>"
    "SMTPD"    5752    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    5092    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "RECEIVED: RCPT TO:<indirizzo>"
    "SMTPD"    5092    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    5752    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "RECEIVED: RSET"
    "SMTPD"    5752    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    5092    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "RECEIVED: RSET"
    "SMTPD"    5092    17    "2010-10-03 15:05:05.475"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    3580    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "RECEIVED: MAIL FROM:<indirizzo>"
    "SMTPD"    3580    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    5928    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "RECEIVED: RCPT TO:<indirizzo>"
    "SMTPD"    5928    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "SENT: 250 OK"
    "SMTPD"    4296    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "RECEIVED: DATA"
    "SMTPD"    4296    17    "2010-10-03 15:05:06.910"    "127.0.0.1"    "SENT: 354 OK, send."
    "SMTPD"    2832    17    "2010-10-03 15:05:06.926"    "127.0.0.1"    "SENT: 250 Queued (0.015 seconds)"
    "SMTPD"    5928    17    "2010-10-03 15:05:06.926"    "127.0.0.1"    "RECEIVED: QUIT"
    "SMTPD"    5928    17    "2010-10-03 15:05:06.926"    "127.0.0.1"    "SENT: 221 goodbye"
    "SMTPC"    5976    18    "2010-10-03 15:05:07.285"    "209.85.229.27"    "RECEIVED: 220 mx.google.com ESMTP eq15si4353272wbb.28"
    "SMTPC"    5976    18    "2010-10-03 15:05:07.285"    "209.85.229.27"    "SENT: HELO localhost"
    "SMTPC"    5540    18    "2010-10-03 15:05:07.378"    "209.85.229.27"    "RECEIVED: 250 mx.google.com at your service"
    "SMTPC"    5540    18    "2010-10-03 15:05:07.378"    "209.85.229.27"    "SENT: MAIL FROM:<indirizzo>"
    "SMTPC"    5056    18    "2010-10-03 15:05:07.472"    "209.85.229.27"    "RECEIVED: 250 2.1.0 OK eq15si4353272wbb.28"
    "SMTPC"    5056    18    "2010-10-03 15:05:07.472"    "209.85.229.27"    "SENT: RCPT TO:<indirizzo>"
    "SMTPC"    4632    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "RECEIVED: 250 2.1.5 OK eq15si4353272wbb.28"
    "SMTPC"    4632    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "SENT: DATA"
    "SMTPC"    5056    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "RECEIVED: 354 Please start mail input."
    "SMTPC"    5056    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "SENT: [nl]."
    "SMTPC"    5976    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "RECEIVED: 250 Mail queued for delivery."
    "SMTPC"    5976    18    "2010-10-03 15:05:08.002"    "209.85.229.27"    "SENT: QUIT"
    "SMTPC"    6044    18    "2010-10-03 15:05:08.096"    "209.85.229.27"    "RECEIVED: 221 Closing connection. Good bye."
    Ciò nonostante il messaggio non arriva. Avete un'idea del perchè?

    Grazie
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  2. #2
    La linea:

    $header.="Content-Type: text/html; charset=\"iso-8859-1\"\n";

    Contiene troppi doppi apici!
    Sostituisci con:

    $header.="Content-Type: text/html; charset=iso-8859-1\n";

    O qualcosa di simile...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  3. #3
    Ok, ma mi sembra strano che il messaggio non arrivi al destinatario solo per questo... infatti ancora non funziona, e se provo ad eseguirlo su altervista funziona in entrambi i casi.

    Secondo voi il log del server che ho postato prima ha qualcosa di anomalo? A me sembra di no, ma non ho molta esperienza per queste cose.

    Grazie
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  4. #4
    up

    Proprio nessuna idea?
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  5. #5
    Ciao,
    io uso questo codice:

    codice:
       $destinatari   = "xxx@yyy.it <xxx@yyy.it>";
    
       $intestazioni  = "From: aaa@bbb.it <aaa@bbb.it>\r\n";
       $intestazioni .= "Reply-To: ccc@ddd.it <ccc@ddd.it>\r\n";
       $intestazioni .= "Bcc: eee@fff.it <eee@fff.it>, ggg@hhh.it <ggg@hhh.it>\r\n";
    
       $oggetto = "Richiesta di informazioni";
    
       $messaggio = "Nome: " . $nome . "\r\nE-mail: " . $e_mail . "\r\nMessaggio: " . $testo;
    
       if (!mail($destinatari, $oggetto, $messaggio, $intestazioni)) {
    e l'unica differenza rilevante che vedo rispetto al tuo è che uso i \r\n invece che i \n.

    Non so se possa essere questo ma val la pena di fare una prova.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Ciao, grazie della risposta,
    ma dubito che il problema stia nell'header, infatti anche facendo come hai detto tu non cambia nulla.
    Ribadisco che il mail server interpreta correttamente la richiesta e "si mette al lavoro", dal log da lui prodotto sembra tutto ok (vedi sopra), il server a cui invio il messaggio risponde correttamente, ma non arriva comunque.

    Le ho provate tutte, ma senza ottenere niente...
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  7. #7
    L'unica ulteriore cosa che ho notato sono i due CR alla fine di Content-Transfer-Encoding.

    Mentre nelle righe precedenti un CR serviva da separatore per gli header successivi, aggiungendoli all'ultimo header violi il protocollo.
    Ritengo che php aggiunga comunque un CR agli header, più i tuoi fa 3 CR di fila.

    Alcuni server capiscono lo stesso cosa vuoi fare, altri possono restare confusi, in particolare inviare una email vuota.

    Prova a rimuoverli entrambi.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  8. #8

    Risolto (era una stupidaggine :D)

    Forse ho capito la causa: io provavo ad inviare continuamente la stessa email e l'antispam del server ricevente, rilevando sempre lo stesso messaggio, lo bloccava. Infatti cambiando oggetto e testo va tutto bene.
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  9. #9
    Tutto ciò è molto strano: ciascun messaggio email è contraddistinto da un id univoco e da data ed ora di spedizione, rendendo unica ogni email.
    Dubito che il tuo problema fosse quello...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  10. #10
    Originariamente inviato da softhare
    Tutto ciò è molto strano: ciascun messaggio email è contraddistinto da un id univoco e da data ed ora di spedizione, rendendo unica ogni email.
    Dubito che il tuo problema fosse quello...
    Già, ma un antispam ben fatto guarda oggetto e contenuto, non id e data e ora...
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


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.