Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema invio mail da form

    Possibile che la funzione mail() vada a buon fine solo se invia il messaggio ad un indirizzo di posta del dominio in cui viene eseguita ?

    Esempio:

    Codice PHP:
    mail($indirizzo_mail$oggetto$testo"From: $_POST[nome]<$_POST[mail]>"); 
    se imposto
    $indirizzo_mail = nome@miodominio.it

    la mail la ricevo

    se invece imposto
    $indirizzo_mail = nome@altro_dominio.it
    (ossia un altro indirizzo e-mail valido che posso controllare)

    non ricevo nessun messaggio ..

  2. #2
    Per prima cosa eviterei di fare questo "From: $_POST[nome]<$_POST[mail]>" all'interno della funzione mail.
    Creerei il tutto prima e aggiungerei una sola variabile.

    Poi la funzione mail vuole come obbligatori SOLO i primi tre parametri. Riduci al minimo i "rischi" ed inserisci solo i parametri obbligatori.

    Farei anche delle prove con altri indirizzi di posta. Non so, di qualche amico, tanto per non avere il dubbio che la casella di posta al di fuori del tuo dominio scarti l'email per non so quale motivo.

    Per finire proverei anche a scaricare una classe preconfezionata che gestisca l'invio di e-mail e proverei anche con quella.

    Vediamo cosa succede...

  3. #3
    prima di tutto grazie per la risposta

    di prove in relatà ne ho già fatte:

    - ho già utilizzato 3 diversi indirizzi di posta (uno su libero, uno di altro dominio, e quello dell'ufficio)

    - ho provato ad installare 2 pacchetti "precofenzionati"

    - ho provato a mettere nella funzione direttamente gli indirizzi (eliminando quindi tutte le variabili, comprese le $_POST[__] )
    in pratica ho provato una cosa del genere:

    Codice PHP:
    mail("roc@altro_dominio.it""prova invio mail""questa è una prova""From: roc<roc@mio_dominio.net>"); 
    senza alcun risultato.

    Mi viene il dubbio che nel server dove risiede il sito (chiarisco che le prove le faccio on-line, non in locale) ci sia qualche cosa che impedisca l'invio di posta con la funzione mail() perchè se la mando a me stesso in realtà funziona

    Mi spiego:
    il dominio è "mio_dominio.net"

    se l'e-mail viene spedita a "indirizzo@mio_dominio.net" la cosa funziona.

    Non invia nulla (e non riesco a far visualizzare alcun errore) se invece il destinatario è
    "indirizzo@altro_dominio.it"

    Grazie ancora per l'aiuto !

  4. #4
    Ok già questi sono elementi in più.

    Gia provato con solo
    mail("roc@altro_dominio.it", "prova invio mail", "questa è una prova");


    dal manuale
    mail() restituisce TRUE se la mail è stata accettata per la spedizione con successo, altrimenti restituisce FALSE.

    Cosa ti restituisce la funzione?

  5. #5
    Codice PHP:
    if (mail("roc@altro_dominio.it""prova invio mail""questa è una prova")) {
        echo 
    'mail inviata correttamente';
    } else {
        echo 
    'NESSUNA MAIL INVIATA !';
    }

    exit(); 
    il risultato è:

    mail inviata correttamente
    In realtà non ricevo nulla :master:

  6. #6
    Dagli elementi che abbiamo, sembrerebbe che la funzione mail svolga correttamente il suo lavoro.

    A questo punto proverei a fare riferimento all'assistenza presso la quale hai il tuo spazio web, per capire cosa sta succedendo.

    Sono curioso di sapere quale sia il problema, quando ti rispondono scrivici come va a finire. Ciao

  7. #7
    Penso anch'io dipenda dal servizio hosting ... altrimenti non mi spiego come mai lo stesso codice funzioni se la mail la mando ad un indirizzo del dominio ...

    Comunque ieri ho aperto un Ticket: spero che domani mi rispondano
    Vi saprò dire !

    Comunque grazie per la disponibilità !!

  8. #8
    questa la risposta che ho ricevuto:

    E' normale: la funzione mail funziona solo se i domini appartengono al server su cui risiede il form.
    Diversamente deve usare l'autenticazione per la posta in uscita.

    I due domini dai quali non arrivano mail non risiedono sul server in questione.
    Ora, non è che mi abbia chiarito la cosa del tutto.

    Ho pensato si riferisse agli altri parametri da passare alla funzione ed ho provato con qualche cosa del tipo

    Codice PHP:
    mail("mail@altro_dominio.it""oggetto""questa è una prova""FROM: roc<mail@dominio.net>""-f mail.dominio.net"); 
    Ma senza alcun risultato ...
    (per la cronaca: mail.dominio.net è lo stesso parametro che uso nella cofigurazione della posta elettronica)

    Forse devo utilizzare la funzione ini_set (ma per quale parametro? è una funzione che non ho compreso del tutto, almeno mi pare... ho fatto un paio di prove dettate più dall'istinto che altro..)

    Aiutooooo !

  9. #9
    qui
    http://forum.html.it/forum/showthrea...light=mail.php

    ho trovato una possibile soluzione:

    Codice PHP:
    <?php
    require_once "Mail.php";

    $from "luca <luca@miosito.com>";
    $to "andrea <andrea@suosito.it>";
    $subject "Hi!";
    $body "Hi,\n\nHow are you?";

    $host "smtp.miosito.com";
    $username "nome utente";
    $password "password";

    $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);
    $smtp Mail::factory('smtp',
    array (
    'host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

    $mail $smtp->send($to$headers$body);
    ?>
    sostituendo i vari parametri però mi restituisce questo errore:

    Fatal error: Call to undefined method PEAR_Error::send() in .../prova_mail.php on line 22

    mi sapete dire cosa significa ??

  10. #10
    nessuno può aiutarmi ?

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.