Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 37
Like Tree3Likes

Discussione: Autenticazione email - Sendgrid

  1. #1
    Guest

    Predefinito Autenticazione email - Sendgrid

    Buongiorno,
    In questi giorni sto tentando, con scarsi risultati, di integrare un'indirizzo email SendGrid al mio account Altervista (possiedo un dominio di secondo livello).
    Su SendGrid mi viene chiesto di autenticare il mio indirizzo email tramite la sezione DNS del Cloudflare del mio sito Web ("Cloudflare's DNS section").
    Non riesco però a trovare questa sezione DNS nel mio sito, nel quale ho comunque attivato Clouflare.
    Spero di essermi spiegato, mi lascio comunque uno screen esplicativo.
    Per eventuali chiarimenti non esitate a scrivermi, spero possiate aiutarmi a risolvere il "problema".
    Cordiali saluti

    https://imgur.com/a/SNxvGgV

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    (possiedo un dominio di secondo livello)
    Dovresti avere la gestione DNS sul menù amministrativo AlterVista, che per alterSito dovrebbe essere qui.


    Ma da quanto ho capito (potrei però sbagliarmi) vorresti utilizzare le email tramite l'indirizzo di secondo livello. Ti consiglierei di farlo tramite zoho, dove hanno un piano free.

    Ciao!
    provalibe likes this.

  3. #3
    Guest

    Predefinito

    Chiedo scusa, non ho un dominio di secondo livello, bensì di terzo...
    Posso comunque risolvere il mio problema?

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ma da quanto ho capito (potrei però sbagliarmi) vorresti utilizzare le email tramite l'indirizzo di secondo livello. Ti consiglierei di farlo tramite zoho, dove hanno un piano free.
    Non ho ben capito quale sia la differenza tra, ad esempio, SendGrid e Zoho...


    Grazie per la cortese risposta!

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Non ho ben capito però cosa vuoi fare: vorresti inviare email tramite PHP oppure sfruttare l'alias del tipo tuonome@altervista.org?

    Ciao!

  6. #6
    Guest

    Predefinito

    Vorrei semplicemente poter inviare le mie mail tramite un servizio esterno come SendGrid (usando ovviamente uno script PHP). Per fare ciò però mi viene richiesto di fare quello che ho descritto nel primo messaggio, cosa che però non riesco a fare...

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Ok, per utilizzare SendGrid non devi mettere mano a DNS o altro: hai già provato in questo modo?

    Ciao!
    provalibe likes this.

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ok, per utilizzare SendGrid non devi mettere mano a DNS o altro: hai già provato in questo modo?

    Ciao!
    Certo, ma mi viene restituito un messaggio d'errore, dunque ho pensato che il problema stesse nell'autenticazione dell'email di SendGrid

  9. #9
    Guest

    Predefinito

    Più precisamemte questo errore:


    https://imgur.com/a/XUw4PQP


    Chiedo venia, ma se da un lato maneggio relativamente bene l'HTML e il CSS, dall'altro sto ancora imparando il PHP, e perciò posso sembrare un po' imbranato...
    Ultima modifica di provalibe : 04-02-2019 alle ore 19.07.48

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Dal messaggio di errore, vedo:
    permission denied, wrong credentials
    Quindi presumo che hai abilitato le connessioni server to server (sbloccato la whitelist), ma c'è qualcosa di sbagliato nell'API-KEY, l'hai sostituita correttamente con la tua?

    Ciao!

  11. #11
    Guest

    Predefinito

    Beh, io ho fatto così, come indicato su GitHub:


    https://imgur.com/a/MM3qf6U
    Ultima modifica di provalibe : 04-02-2019 alle ore 19.23.43

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Puoi provare con il codice nel post che ti ho indicato?

    Ciao!

  13. #13
    Guest

    Predefinito

    Ciao,

    ho provato con il metodo che mi hai indicato cambiando solamente quella stringa, e quell'errore scompare, ma ne compare un altro che ti illustro di seguito:


    https://imgur.com/a/Vngzrhk


    Grazie per l'aiuto!

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Leggi attentamente l'errore: dice che non è corretta l'email specificata nel campo "from" (indirizzo mittente); o meglio, c'è un errore nel campo from.

    Ciao!
    Ultima modifica di alemoppo : 04-02-2019 alle ore 19.47.16

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Leggi attentamente l'errore: dice che non è corretta l'email specificata nel campo "from" (indirizzo mittente); o meglio, c'è un errore nel campo from.

    Ciao!
    È proprio per questo che nel primo messaggio chiedevo informazioni riguardo all'autenticazione dell'email.

    Come puoi anche vedere dallo screen, il mio email SendGrid (per intenderci, quello che ho inserito nel campo "from") deve essere abilitato, e per questo ho bisogno di aver l'accesso al DNS.

    Su SendGrid viene fornita una spiegazione, ma non so come farlo su AlterVista...



    [1] https://imgur.com/a/vC2zzyi

    [2] https://imgur.com/a/AxnN3RW

    [3] https://imgur.com/a/v9NLlVR


    Grazie :)
    Ultima modifica di provalibe : 04-02-2019 alle ore 20.11.33

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    Da questa schermata, come posso aggiungere il "record"?

  17. #17
    Guest

    Predefinito

    Up, ho urgente bisogno d'aiuto (online mi risulta impossibile trovare una soluzione, perché questa è strettamente legata ad AlterVista).

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Non puoi aggiungere alcun record, devi utilizzare il tutto come spiegato nell'altra discussione.

    Puoi mostrare il codice, nascondendo l'api-key? Come hai impostato il campo from?

    (quello di cui stai parlando tu, è l'email certificata; che io sappia non è possibile utilizzarla, da domini di terzo livello).

    Ciao!
    Ultima modifica di alemoppo : 05-02-2019 alle ore 18.46.45

  19. #19
    Guest

    Predefinito

    Codice:
    <?php
    $mysqli = new mysqli('localhost', 'provalibe', '', 'my_provalibe');
    
    if(isset($_POST['register'])) {
    	$mail = $_POST['mail'];
    	$password = $_POST['password'];
    	$code = substr(md5(mt_rand()), 0, 15);
    	$verifyId = rand();
    	$mysqli->query("INSERT INTO verify (verifyId, mail, password, code) VALUES ('$verifyId', '$mail', '$password', '$code')");
    
    
        require("sendgrid-php/sendgrid-php.php");
    
        $email = new \SendGrid\Mail\Mail(); 
        $email->setFrom("LA_MIA_MAIL_SENDGRID_DA_AUTENTICARE");
        $email->setSubject("Attivazione Account");
        $email->addTo("$mail");
        $email->addContent("text/plain", "Il tuo codice di attivazione è $code.<br>Clicca <a href=\"verification.php?id=$verifyId&code=$code\">qui</a> per attivare il tuo account.");
        $sendgrid = new \SendGrid('APY_KEY');
        try {
            $response = $sendgrid->send($email);
            print $response->statusCode() . "\n";
            print_r($response->headers());
            print $response->body() . "\n";
        } catch (Exception $e) {
            echo 'Caught exception: '. $e->getMessage() ."\n";
        }
        
        
    ?>


    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    (quello di cui stai parlando tu, è l'email certificata; che io sappia non è possibile utilizzarla, da domini di terzo livello).
    Ok, quindi come posso rimediare?

    Sta di fatto che compare un errore, quindi qualcosa di errato dev'esserci sicuramente.


    Grazie per la cortese risposta!

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    Sta di fatto che compare un errore, quindi qualcosa di errato dev'esserci sicuramente.
    Io avevo già indicato dove è l'errore: è sufficiente leggere il messaggio di errore.

    Non puoi fare così:
    Codice PHP:
    $email->setFrom("LA_MIA_MAIL_SENDGRID_DA_AUTENTICARE");
    Quel metodo accetta due parametri, tu ne hai impostato solamente uno. Riguarda il codice originale nella mia precedente discussione:
    Codice PHP:
    $email->setFrom("test@example.com", "Example User");
    Stesso discorso per il metodo "addTo".

    In ogni caso, invece di "LA_MIA_MAIL_SENDGRID_DA_AUTENTICARE" prova ad inserire come era originariamente:
    Codice PHP:
    $email->setFrom("test@example.com", "Example User");
    Io ti consiglierei di iniziare con il codice originale (cambiando solo il campo "indirizzo destinatario" e l'api-key), poi modificarlo di volta in volta e, quando non funziona, cercare di capire il perché.


    p.s: non ho autenticato alcuna email, ma ho riprovato e lo script continua a funzionare correttamente ad inviare email.

    Ciao!
    Ultima modifica di alemoppo : 05-02-2019 alle ore 19.08.46

  21. #21
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Io avevo già indicato dove è l'errore: è sufficiente leggere il messaggio di errore.

    Non puoi fare così:
    Codice PHP:
    $email->setFrom("LA_MIA_MAIL_SENDGRID_DA_AUTENTICARE");
    Quel metodo accetta due parametri, tu ne hai impostato solamente uno. Riguarda il codice originale nella mia precedente discussione:
    Codice PHP:
    $email->setFrom("test@example.com", "Example User");
    Stesso discorso per il metodo "addTo".

    Io ti consiglierei di iniziare con il codice originale (cambiando solo il campo "indirizzo destinatario" e l'api-key), poi modificarlo di volta in volta e, quando non funziona, cercare di capire il perché.


    p.s: non ho autenticato alcuna email, ma ho riprovato e lo script continua a funzionare correttamente ad inviare email.

    Ciao!
    Codice:
    <?php
    $mysqli = new mysqli('localhost', 'provalibe', '', 'my_provalibe');
    
    if(isset($_POST['register'])) {
    	$mail = $_POST['mail'];
    	$password = $_POST['password'];
    	$code = substr(md5(mt_rand()), 0, 15);
    	$verifyId = rand();
    	$mysqli->query("INSERT INTO verify (verifyId, mail, password, code) VALUES ('$verifyId', '$mail', '$password', '$code')");
    
    
        require("sendgrid-php/sendgrid-php.php");
    
        $email = new \SendGrid\Mail\Mail(); 
        $email->setFrom("MY_EMAIL", "Service");
        $email->setSubject("Attivazione Account");
        $email->addTo("$mail", "Utente");
        $email->addContent("text/plain", "Il tuo codice di attivazione è $code.<br>Clicca <a href=\"verification.php?id=$verifyId&code=$code\">qui</a> per attivare il tuo account.");
        $email->addContent(
            "text/html", "<strong>Il tuo codice di attivazione</strong>"
        );
        $sendgrid = new \SendGrid('APY_KEY');
        try {
            $response = $sendgrid->send($email);
            print $response->statusCode() . "\n";
            print_r($response->headers());
            print $response->body() . "\n";
        } catch (Exception $e) {
            echo 'Caught exception: '. $e->getMessage() ."\n";
        }
        
        
    ?>
    Anche facendo il calco del codice che hai fornito nel tutorial, compare lo stesso errore che ti avevo indicato precedentemente [400]...

  22. #22
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Puoi provare creando una nuova pagina con questo codice, modificando solo "API_KEY" e "DESTINATARIO"?
    Codice PHP:
    <?php
    //require 'vendor/autoload.php'; // If you're using Composer (recommended)
    // Comment out the above line if not using Composer
    require("./sendgrid-php/sendgrid-php.php"); # <--- controllare che sia corretto il path con la cartella caricata
    // If not using Composer, uncomment the above line and
    // download sendgrid-php.zip from the latest release here,
    // replacing <PATH TO> with the path to the sendgrid-php.php file,
    // which is included in the download:
    // https://github.com/sendgrid/sendgrid-php/releases
    $email = new \SendGrid\Mail\Mail();
    $email->setFrom("test@example.com", "Example User"); # <--- indirizzo mittente
    $email->setSubject("Sending with SendGrid is Fun"); # <--- oggetto email
    $email->addTo("DESTINATARIO", "Example User"); # <--- indirizzo destinatario
    $email->addContent("text/plain", "and easy to do anywhere, even with PHP"); # <--- testo della email
    $email->addContent(
    "text/html", "<strong>and easy to do anywhere, even with PHP</strong>"
    ); # <--- eventuale testo HTML della mail
    $sendgrid = new \SendGrid('API_KEY'); # <--- api key
    try {
    $response = $sendgrid->send($email);
    print
    $response->statusCode() . "\n";
    print_r($response->headers());
    print
    $response->body() . "\n";
    } catch (
    Exception $e) {
    echo
    'Caught exception: '. $e->getMessage() ."\n";
    }
    Ciao!

  23. #23
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Puoi provare creando una nuova pagina con questo codice, modificando solo "API_KEY" e "DESTINATARIO"?

    Così facendo compare un altro errore, diverso dal precedente:


    https://imgur.com/a/UAgfG4I


    (Ho fatto come mi hai detto, non modificando l'email del mittente).

  24. #24
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Bene, controlla se ti è arrivata l'email nell'email che hai utilizzato come "destinatario".

    Ciao!

  25. #25
    Guest

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    (Ho fatto come mi hai detto, non modificando l'email del mittente).
    Sostituendo l'email che hai inserito (test@example.com) tu con il mio, compare lo stesso identico errore di prima (400).

    Da ciò deduco che l'errore stia appunto nel fatto che l'indirizzo email di SendGrid non sia "autenticato", e perciò ti rimando a questo messaggio per chiederti informazioni e aiuto in merito.

    L'email ovviamente non mi è arrivata.

    Grazie, ciao!

  26. #26
    Guest

    Predefinito

    Anzi, anzi, chiedo venia, l'email è arrivata, finendo solamente nella casella di spam!

  27. #27
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    Anzi, anzi, chiedo venia, l'email è arrivata, finendo solamente nella casella di spam!
    Ok, il fatto che sia in "spam" mi è strano, a me non è mai arrivata in spam, questo poi è un problema che riguarda SendGrid.

    Ora continua dal codice funzionante modificando poco alla volta e testando ogni volta, così da capire dove fosse il problema.

    (se ottieni 400 significa che c'è un errore. Se ottieni invece un codice 200, allora l'email dovrebbe essere stata inviata).

    Ciao!
    Ultima modifica di alemoppo : 05-02-2019 alle ore 19.45.22

  28. #28
    Guest

    Predefinito

    Grazie mille per l'aiuto!


    Avrei allora 2 ultimi "problemini" da risolvere:

    [1]. Far si che, anche se alla fine l'email viene inviata, il messaggio d'errore non compaia.

    [2]. Attualmente la mail arriva solo se (sembra strano, lo so) metto come email non la mia di SendGrid, ma una a caso come test@example.com... sapresti spiegarmi il motivo?

    PS: Avresti la cortesia di mandarmi lo screen delle email che hai ricevuto?

  29. #29
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    [1]. Far si che, anche se alla fine l'email viene inviata, il messaggio d'errore non compaia.
    Questi print_r e print stampano i vari messaggi (non sono di errore se si tratta di 202):
    Codice PHP:
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print
    $response->body() . "\n";
    Potresti controllare quindi lo statusCode() e informare l'utente di eventuali problemi con l'invio email. Trovi i vari codici qui.

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    [2]. Attualmente la mail arriva solo se (sembra strano, lo so) metto come email non la mia di SendGrid, ma una a caso come test@example.com... sapresti spiegarmi il motivo?
    È strano anche per me, non so spiegarti il motivo. Io ho provato anche ad impostare una mia email ed arriva senza problemi.

    Citazione Originalmente inviato da provalibe Visualizza messaggio
    PS: Avresti la cortesia di mandarmi lo screen delle email che hai ricevuto?
    Certo:
    @gmail:


    @hotmail:


    Ciao!
    provalibe likes this.

  30. #30
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Questi print_r e print stampano i vari messaggi (non sono di errore se si tratta di 202):
    Codice PHP:
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print
    $response->body() . "\n";
    Potresti controllare quindi lo statusCode() e informare l'utente di eventuali problemi con l'invio email. Trovi i vari codici qui.


    È strano anche per me, non so spiegarti il motivo. Io ho provato anche ad impostare una mia email ed arriva senza problemi.



    Certo:
    @gmail:


    @hotmail:


    Ciao!
    Penso di aver risolto tutto! Ti ringrazio immensamente per il tuo aiuto, e ti chiedo di lasciare aperta la discussione nel caso mi sorgessero altri dubbi.

    Grazie ancora, buona serata!

Pagina 1 di 2 12 UltimoUltimo

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
  •