Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    SendGrid in php senza usare Compser

    Salve a tutti,

    ho cercato dappertutto ma non sono arrivato ad una soluzione, anche se in tantissimi la chiedono.

    Sto usando SendGrid per inviare mail da un form online su un sito internet, e non posso/voglio istallare Composer sul server.

    Ho scaricato la versione corrente di sendgrid-php.zip da qui https://github.com/sendgrid/sendgrid...ckage-from-zip

    Ho seguito queste istruzioni: https://github.com/sendgrid/sendgrid...uent-interface

    sostituendo require'vendor/autoload.php';

    con require("sendgrid-php/sendgrid-php.php");

    usando il path giusto per il file sendgrid-php.php.

    Ho sostituito l'API Key in .env e nel mio file php $apiKey=getenv('SENDGRID_API_KEY');

    ma non funziona! Mi da un errore di autenticazione. Qualcuno sa aiutarmi? E' un problema diffuso.

    Grazie


  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,629
    Prova ad assegnare direttamente alla variabile $apiKey la API key che hai ottenuto invece di fargliela prendere dal file .env

  3. #3
    Ho provato così, linkando il file direttamente e inserendo l'apikey

    codice:
    <?php// using SendGrid's PHP Library
    // https://github.com/sendgrid/sendgrid-php
    //require 'vendor/autoload.php';
    require 'sendgrid-php/sendgrid-php.php';
    $sendgrid = new SendGrid("apikey");
    $email    = new SendGrid\Email();
    
    
    $email->addTo("testmail@gmail.com")
          ->setFrom("testmail@gmail.com")
          ->setSubject("Sending with SendGrid is Fun")
          ->setHtml("and easy to do anywhere, even with PHP");
    
    
    $sendgrid->send($email);
    
    
    ?>
    ma mi da questo errore:

    Fatal error: Uncaught Error: Class 'SendGrid\Email' not found in /web/htdocs/www.nomesito.it/home/api/SendGrid.php:7 Stack trace: #0 {main} thrown in /web/htdocs/www.nomesito.it/home/api/SendGrid.php on line 7

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    620
    Per utilizzare i file .env in quel modo ti serve la libreria phpdotenv, che probablmente usando composer viene installata come dipendenza, mentre a te manca. Fai come ti ha detto Alhazred e vedrai che risolvi.

  5. #5
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Per utilizzare i file .env in quel modo ti serve la libreria phpdotenv, che probablmente usando composer viene installata come dipendenza, mentre a te manca. Fai come ti ha detto Alhazred e vedrai che risolvi.
    Nel mi osecondo esempio non mi sembra di aver usato il file .env..

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    620
    No infatti, scusami ho scritto il messaggio mentre tu stavi scrivendo il tuo e si sono sovrapposti, io stavo rispondendo al tuo problema precedente.

    Per quanto riguarda il problema della classe non trovata, la libreria usa composer anche per caricare il namespace di sendgrid, quindi senza autoloader non ti trova la classe, temo che il problema dipenda da questo. Prendimi con le molle perchè non ho visto il codice di sendgrid, quindi potrebbe anche non dipendere da questo.

    Più tardi controllo il codice della libreria e ti so dire meglio.

  7. #7
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    No infatti, scusami ho scritto il messaggio mentre tu stavi scrivendo il tuo e si sono sovrapposti, io stavo rispondendo al tuo problema precedente.

    Per quanto riguarda il problema della classe non trovata, la libreria usa composer anche per caricare il namespace di sendgrid, quindi senza autoloader non ti trova la classe, temo che il problema dipenda da questo. Prendimi con le molle perchè non ho visto il codice di sendgrid, quindi potrebbe anche non dipendere da questo.

    Più tardi controllo il codice della libreria e ti so dire meglio.
    Ok, figurati.
    Ma è possibile istallare questo Composer su Aruba? Credo che sia una giungla fare senza...

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,629
    Dipende dal tuo piano, devi aver accesso al server tramite ssh, quindi mi sa solo se hai preso una VPS, ma senti loro, non conosco il loro servizio.

    Alle brutte potresti replicarti il sito in locale, lì puoi fare quello che vuoi e poi fare l'upload dei file su Aruba.

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 © 2019 vBulletin Solutions, Inc. All rights reserved.