Visualizzazione risultati 1 fino 2 di 2

Discussione: Integrazione SendGrid in PHP

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

    Predefinito Integrazione SendGrid in PHP

    Anche se è possibile utilizzare la funzione mail() di PHP, talvolta capita che le email vengano recapitate in "spam/posta indesiderata" o peggio vengano preventivamente eliminate dal fornitore delle email.
    È possibile però utilizzare un servizio esterno gratuito per l’invio delle email; tramite questo procedimento si elimina anche la scritta inserita a fondo mail da AlterVista "To report abuses or spam…".

    In questo breve tutorial spiegherò come utilizzare sendGrid al posto della nativa funzione mail di PHP.

    Prima cosa occorre registrarsi su SendGrid e registrare il profilo free. È possibile farlo dal sito ufficiale, quindi selezionare "Try for Free".

    Compiliamo quindi i dati:



    A questo punto verrà inviata una email all’indirizzo inserito precedentemente. Ci sarà un link dove occorre aprirlo per confermare l’account. Se non dovesse esserci, guardate su "spam" o "posta indesiderata". L’email dovrebbe essere una cosa del genere:



    Una volta confermata l’email, torniamo nella schermata precedente e scegliamo "Integrate using our Web API or SMTP relay", visto che vogliamo utilizzare le "web API".



    Quindi, Web API:


    Infine PHP:


    A questo punto ci si trova un elenco numerato di 5 passi da seguire. In realtà si può riassumere il tutto dicendo di creare la API Key e incollarla nel codice poco sotto. Quindi scaricare la libreria e caricarla su AlterVista.

    Vediamo passo passo:
    Ultima modifica di alemoppo : 20-08-2018 alle ore 00.35.11

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

    Predefinito


    1. Creazione API KEY:
      Clicchiamo su "API keys page":

      Poi su "Create API Key":


      Diamo un nome all’API e clicchiamo su "Create & View":


      NOTA BENE: l’API key non verrà più mostrata in futuro. Quindi occorre copiarla da qualche parte (blocco note) così da poterla utilizzare quando servirà. Cliccando nel codice verrà automaticamente copiata nella clipboard:

      Tornando indietro con il pulsante del browser, si dovrebbe tornare alla pagina precedente.
    2. Recuperare la libreria:
      Occorre scaricare la libreria (link qui) dell'ultima versione in formato .zip:


      La libreria è in formato .zip. Non occorrerà perdere tempo a estrarla perché AlterVista supporta l’upload di archivi compressi: una volta scaricato andiamo nel pannello di controllo (gestione files), quindi selezionare "invia files" -> "invia archivi compressi", quindi selezionare la cartella appena scaricata:


    3. Codice di test:
      Siccome abbiamo utilizzato la libreria, occorre modificare un minimo lo script PHP (come indicato nel commento del sorgente stesso). Quindi modificare i vari campi (email destinatario e api-key salvata precedentemente)
      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("alemoppospam@altervista.org""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('SG.h44LKtmiSpyxbohQP4g.rP8sp_AMtesto8hOMJBkVCapikeyvR9o1XGZyJB8DWmw');    # <--- 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";
      }


    Aprendo il file.php creato con il codice sopra (modificato), dovrebbe arrivare l’email all’indirizzo destinatario.

    Ciao!
    Ultima modifica di alemoppo : 20-08-2018 alle ore 00.23.46

Regole di scrittura

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