Visualizzazione risultati 1 fino 12 di 12

Discussione: PHP mail() funziona solo su alcuni dominii

  1. #1
    Guest

    Predefinito PHP mail() funziona solo su alcuni dominii

    Buona sera,

    ho messo su un sito moodle e ho dei problemi con l'invio delle email di conferma delle iscrizioni o di recupero password.

    Premetto che ho letto molto sull'argomento, so che AV pone limitazioni all'uso di SMTP esterni e sulla frequenza delle email inviate, e ho cercato risposte sia in questo forum che altrove, ma non ho trovato nulla che spieghi il mio problema ne' tantomeno che lo risolva.

    In pratica, ho riscontrato che le email inviate al mio indirizzo Gmail arrivano correttamente, mentre inviando ad altri 2 indirizzi che uso normalmente ogni giorno non arriva nulla.

    Per capire che succede ho fatto un piccolo script php:
    Codice:
    <?php
    $to      = 'user@gmail.com';
    $subject = 'the subject';
    $message = 'hello';
    $headers = 'From: my_account@altervista.org '. "\r\n";
    mail($to, $subject, $message, $headers);
    ?>
    che mostra il comportamento descritto sopra.
    Poi ho analizzato un'email arrivata:
    Codice:
    Delivered-To: user@gmail.com
    Received: by 10.76.25.135 with SMTP id c7csp251560oag;
            Sun, 11 Nov 2012 04:52:25 -0800 (PST)
    Received: by 10.14.200.194 with SMTP id z42mr53369394een.13.1352638345149;
            Sun, 11 Nov 2012 04:52:25 -0800 (PST)
    Return-Path: <apache@ns101.altervista.org>
    Received: from ns101.altervista.org (ns101.altervista.org. [178.63.21.200])
            by mx.google.com with ESMTPS id z5si7106686eeo.76.2012.11.11.04.52.24
            (version=TLSv1/SSLv3 cipher=OTHER);
            Sun, 11 Nov 2012 04:52:25 -0800 (PST)
    Received-SPF: pass (google.com: best guess record for domain of apache@ns101.altervista.org designates 178.63.21.200 as permitted sender) client-ip=178.63.21.200;
    Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of apache@ns101.altervista.org designates 178.63.21.200 as permitted sender) smtp.mail=apache@ns101.altervista.org
    Received: from ns101.altervista.org (localhost.localdomain [127.0.0.1])
    	by ns101.altervista.org (8.13.8/8.13.8) with ESMTP id qABCqOAn018291
    	for <user@gmail.com>; Sun, 11 Nov 2012 13:52:24 +0100
    Received: (from apache@localhost)
    	by ns101.altervista.org (8.13.8/8.13.8/Submit) id qABCqOHm018289;
    	Sun, 11 Nov 2012 13:52:24 +0100
    Date: Sun, 11 Nov 2012 13:52:24 +0100
    Message-Id: <201211111252.qABCqOHm018289@ns101.altervista.org>
    X-WEBSITE: my_account.altervista.org
    X-Originating-IP: [2.34.142.74]
    To: user@gmail.com
    Subject: the subject
    From: my_account@altervista.org
    
    hello
    
    
    ------------
    
    To report abuses or spam please follow this link: http://sp.altervista.it/s.php/bW9vZGxlfC9wcm92YV9tYWlsLnBocA==
    A questo punto mi vengono i seguenti dubbi:
    * forse php sta cercando di usare Gmail per il relay anche con gli altri indirizzi?
    * forse il metodo di connessione è supportato da Gmail e dagli altri 2 server no?
    * forse l'email generata viene vista come spam dagli altri 2 server (ma dovrebbe arrivarmi lo stesso)?

    Altro non mi viene in mente: se qualcuno ha altre idee è il benvenuto.

    Diversamente, qualcuno sa dirmi se esiste un modo per leggere i log dell'invio dell'email?
    il server smtp destinatario dovrebbe restituire qualche errore con cui capire almeno che succede...

    Grazie a tutti in anticipo, ciao
    Ultima modifica di moodle : 12-11-2012 alle ore 01.18.31

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Con quali altri mail provider hai provato? Purtroppo ci sono dei filtri anti-spam che sembrano bloccare le mail.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Ciao,
    ho un'email @liceofermibo.net che è gestito su Aruba, e un'altra @scriba-nanotec.com che sta su Bluehost.

    Mi pare strano che sia un filtro, perchè su Bluehost le email di spam vengono taggate ma arrivano lo stesso...

    Grazie, ciao
    -
    A meno che AV per qualche motivo che ignoro non venga considerato un "not permitted sender"...

    Ho aggiunto al codice php la verifica del valore di ritorno di mail(), che è però sempre 1, ovvero "success".

    -

    Altro tentativo fallito: in moodle ho specificato "localhost" come server SMTP, ma AV sembra proprio non avere un server SMTP in ascolto sulla porta 25, nemmeno per connessioni locali :(
    Mi chiedo come faccia php ad inviare le email...

    Ciao e grazie ancora.
    Ultima modifica di moodle : 13-11-2012 alle ore 17.06.12 Motivo: Unione doppio post (come da regolamento)... + aggiornamenti

  4. #4
    pastamadre non è connesso Utente attivo
    Data registrazione
    08-07-2012
    Messaggi
    369

    Predefinito

    la funzione mail() restituisce 1 se riesce a passare la mail al sistema di posta del server ma questo non significa che sia stata effettivamente spedita. Inoltre ti confermo che su Altervista non ci si può collegare ad un server SMTP :-(

    Fai una prova su Aruba, se hai accesso al pannello di gestione Mail: disattiva l'antispam, mandagli una email e vedi che succede.

    Ciao

    EDIT: se il mittente che usi my_account@altervista.org non esiste effettivamente come alias su Altervista potrebbe essere lui il problema su alcuni sistemi di posta...
    Ultima modifica di pastamadre : 14-11-2012 alle ore 01.09.25
    Non scrivetemi in privato per questioni tecniche, usate il forum. Grazie.

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da pastamadre Visualizza messaggio
    la funzione mail() restituisce 1 se riesce a passare la mail al sistema di posta del server ma questo non significa che sia stata effettivamente spedita.
    Già, l'avevo immaginato.

    Inoltre ti confermo che su Altervista non ci si può collegare ad un server SMTP :-(
    Boh.. un server SMTP su qualche porta locale non standard è probabile ci sia, perchè php ne ha bisogno, ma ho la netta impressione che non farebbe alcuna differenza. Ho fatto il tentativo solo perché se potessi parlarci direttamente magari mi direbbe cos'è che non va, mentre php risulta abbastanza opaco...

    Fai una prova su Aruba, se hai accesso al pannello di gestione Mail: disattiva l'antispam, mandagli una email e vedi che succede.
    Eh no, su Aruba sono solo un utente.

    EDIT: se il mittente che usi my_account@altervista.org non esiste effettivamente come alias su Altervista potrebbe essere lui il problema su alcuni sistemi di posta...
    Ci ho pensato anch'io, ma esiste e funziona.

    Quello che mi lascia perplesso è: ma possibile che 'sta cosa crei problemi solo a me??

    In ogni caso, grazie dell'interessamento.

  6. #6
    pastamadre non è connesso Utente attivo
    Data registrazione
    08-07-2012
    Messaggi
    369

    Predefinito

    Ti accludo il codice dei miei invii email, a me funziona sempre, toccando ferro!!!

    Le variabili $siteEmailAddress, $to e $subject sono ovviamente valorizzate prima.
    $siteEmailAddress è un mio alias esistente su Altervista.
    $message è in Plain Text, i suoi ritorni a capo sono sempre "\r\n"
    $lOk, $description e $mailSendFail mi servono per gestire il successivo flusso elaborativo nel caso (mai verificatosi) che la funzione mail() mi ritorni una condizione di errore.
    Prova a farlo identico, a me su Aruba, con l'antispam attivato ai suoi valori di default, le email arrivano correttamente.

    Codice PHP:
        $headers "";
        
    $headers .= "From: ".$siteEmailAddress."\r\n";
        
    $headers .= "Reply-To: ".$siteEmailAddress."\r\n";
        
    $headers .= "X-Mailer: PHP/".phpversion();

        if (!
    mail($to$subject$message$headers)){
            
    $lOk false;
            
    $description "Invio mail fallito";
            
    $mailSendFail true;
        }
        else{
            
    $lOk true;
            
    $description "Invio mail eseguito";
        } 
    Non scrivetemi in privato per questioni tecniche, usate il forum. Grazie.

  7. #7
    Guest

    Predefinito

    Ti ringrazio, ma non funziona lo stesso.

    Allora, una cosa l'ho capita, e ha tutta l'aria di essere un bug di AV: se nel campo "To:" c'è un indirizzo con lo stesso dominio dell'email con cui sono registrato su AV, all'indirizzo viene aggiunto ".altervista.org".

    Nel mio caso, ho degli indirizzi destinatari di tipo "user@scriba-nanotec.com", e vengono riscritti come "user@scriba-nanotec.com.altervista.org".

    L'ho visto impostando un campo "To:" multiplo e analizzando l'email che arriva al mio account su Gmail:
    Codice:
    <cut>
    
    X-WEBSITE: moodle.altervista.org
    X-Originating-IP: [84.253.165.86]
    To: moodle@altervista.org, user@scriba-nanotec.com.altervista.org, user@liceofermibo.net, user@gmail.com
    Subject: Prova email
    From: apache@ns101.altervista.org
    
    <cut>
    Delle 4 email inviate mi arrivano solo la prima e l'ultima.

    La seconda ho capito perchè non arriva, e anche se non ho idea di come risolvere non mi crea grossi problemi. Invece la terza (quella su Aruba) non so ancora perché non arriva, e mi servirebbe proprio...

    Oltre tutto, su Bluehost ho attivo SpamAssassin, e le email indirizzate a moodle@altervista.org vengono redirette lì: SpamAssassin attribuisce loro un valore negativo compreso tra -1.1 e -1.5, ben lontano dal valore che denota lo spam (>5).

    Ho anche notato che anche se imposto il Return-Path, viene sovrascritto da AV, quindi se anche il server SMTP restituisse un errore via email non mi arriverebbe.

    Perdonami, ma per prova mi sono iscritto ad uno dei tuoi siti, per vedere se mi arrivava l'email all'indirizzo @liceofermibo.net: in effetti mi arriva, e l'unica cosa che ho notato nell'analizzarla è che stai usando PHP 5.2, mentre per Moodle 2.3 ho dovuto abilitare espressamente PHP 5.3... che cambi qualcosa?

    To be continued... ^_^
    Ultima modifica di moodle : 15-11-2012 alle ore 23.30.15

  8. #8
    Guest

    Exclamation

    Ho fatto l'ultimo esperimento: ho aperto un nuovo account.

    Il risultato è stato questo:
    • il file php di prova, lo stesso che nel primo account non funziona, nel nuovo account ha funzionato correttamente
    • ho spostato moodle dal vecchio al nuovo sito con successo, e la posta ha ripreso gli usuali malfunzionamenti (aggiunta di ".altervista.org" ad alcuni indirizzi, mancato recapito ad altri)
    • il file di prova, lo stesso che prima funzionava, ora ha smesso di funzionare, e mostra i problemi sopra descritti


    A questo punto mi arrendo: se un admin di AV passa di qui e vuole provare a mettere una toppa a questo bug posso anche dare una mano, ma per quanto mi riguarda ho già perso abbastanza tempo e ripiego su una soluzione alternativa.

    Ciao e grazie
    Ultima modifica di moodle : 21-11-2012 alle ore 23.25.16

  9. #9
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,026

    Predefinito

    moodle:

    abbiamo approfondito il problema.

    scriba-nanotec.com non è risolvibile dal server che ospita il tuo sito, perché il relativo nameserver risulta da esso inaccessibile, di conseguenza non si è in grado di recuperare i record MX e quindi inviare la mail.

    Dai traceroute sembra che il problema sia localizzato sulla rete di Bluehost, visto che a leggere la discussione sembra durare da giorni potrebbe non essere un disservizio ma un blocco del traffico, che non sembra neanche legato ad AlterVista nello specifico dal momento che, da quanto visto, si manifesta su svariati subnet anche esterni, così come non si verifica su tutti i server di AlterVista (sei quindi sfortunato nella combinazione di cose).

    Questo problema dovrebbe essere sottoposto a Bluehost, ti conviene contattarli, anche perché questo significa che chiunque abbia dei caching nameserver localizzati in quei determinati subnet neanche può vedere il tuo sito, quindi il problema va oltre la posta.

    Per quanto riguarda incece user@liceofermibo.net nelle prove effettuale il relativo server di posta ha replicato "service unavailable"

    Codice:
    Nov 18 17:51:23 xxx xxx: -----: to=<xxx@liceofermibo.net>, ctladdr=<xxx> (), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120724, relay=mx.liceofermibo.net. [62.149.128.151], dsn=5.0.0, stat=Service unavailable
    Gianluca

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da Gianluca Visualizza messaggio
    moodle:

    abbiamo approfondito il problema.
    Vi ringrazio molto del supporto


    scriba-nanotec.com non è risolvibile dal server che ospita il tuo sito, perché il relativo nameserver risulta da esso inaccessibile, di conseguenza non si è in grado di recuperare i record MX e quindi inviare la mail.
    Che tradotto significa che oggi è il mio giorno fortunato...

    Dai traceroute sembra che il problema sia localizzato sulla rete di Bluehost, visto che a leggere la discussione sembra durare da giorni potrebbe non essere un disservizio ma un blocco del traffico, che non sembra neanche legato ad AlterVista nello specifico dal momento che, da quanto visto, si manifesta su svariati subnet anche esterni, così come non si verifica su tutti i server di AlterVista (sei quindi sfortunato nella combinazione di cose).

    Questo problema dovrebbe essere sottoposto a Bluehost, ti conviene contattarli, anche perché questo significa che chiunque abbia dei caching nameserver localizzati in quei determinati subnet neanche può vedere il tuo sito, quindi il problema va oltre la posta.
    Ok, ho aperto un ticket su Bluehost, ora attendo risposta.
    Grazie della segnalazione.

    Per quanto riguarda incece user@liceofermibo.net nelle prove effettuale il relativo server di posta ha replicato "service unavailable"

    Codice:
    Nov 18 17:51:23 xxx xxx: -----: to=<xxx@liceofermibo.net>, ctladdr=<xxx> (), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120724, relay=mx.liceofermibo.net. [62.149.128.151], dsn=5.0.0, stat=Service unavailable
    Non sono un esperto di posta, ma "service unavailable" ha un po' l'aria di una presa in giro: dal mio indirizzo ricevo email ogni giorno, e non mi risulta di averne persa qualcuna.

    Per infittire il mistero, proprio pochi minuti fa mi è arrivata conferma di un'email di prova che avevo mandato ad un altro indirizzo @liceofermibo.net: questa volta ha funzionato!

    Inoltre, confermo che prima di installare moodle ho fatto qualche prova e funzionava.

    Forse quelli di Aruba filtrano le email con criteri loro e i loro server danno risposte fuorvianti per scoraggiare gli spammer? mi sembra un po' estremo, ma onestamente non so cos'altro pensare...

    Ora provo a contattare qualcuno ad Aruba e vediamo se ne viene fuori qualcosa.

    Grazie ancora, ciao

  11. #11
    Guest

    Predefinito

    Dunque, quelli di Bluehost dicono che l'ip che ospita il dominio scriba-nanotec.com è finito in una blacklist, e stanno lavorando per risolvere la cosa.

    Con Aruba non sono riuscito a comunicare, perché per interagire mi richiedono di autenticarmi come loro cliente, mentre io ho semplicemente un account: dovrei andare a parlare con l'amministratore del dominio.

    Nel frattempo, però, sembra che magicamente il problema sia svanito
    Oggi le email arrivano regolarmente

    Mah..

  12. #12
    Guest

    Predefinito

    E' possibile che i due problemi siano connessi tra loro.

    In pratica, in certe subnet il dominio scriba-nanotec.com non risulta risolvibile.
    Ho notato che alcuni server di posta se non riescono a risolvere il dominio del mittente rispondono "service unavailable", anche se di solito motivano un po' di più la risposta.

    La mia ipotesi è che Aruba abbia tentato di risolvere non solo il dominio del mittente, ma anche quello di tutti i destinatari della mail, e trovandone uno non risolvibile potrebbe aver bloccato la mail come spam.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •