https://github.com/jdev29/gmail-oauth2-mailer
Este es un proyecto demo de cómo enviar correos con Gmail usando Oauth2 de Google.
https://github.com/jdev29/gmail-oauth2-mailer
gmail gmail-api google google-api google-auth googleclient laravel oauth2 php
Last synced: about 2 months ago
JSON representation
Este es un proyecto demo de cómo enviar correos con Gmail usando Oauth2 de Google.
- Host: GitHub
- URL: https://github.com/jdev29/gmail-oauth2-mailer
- Owner: jdev29
- License: mit
- Created: 2024-12-02T20:25:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-03T00:01:17.000Z (over 1 year ago)
- Last Synced: 2025-01-30T12:47:14.497Z (over 1 year ago)
- Topics: gmail, gmail-api, google, google-api, google-auth, googleclient, laravel, oauth2, php
- Language: PHP
- Homepage:
- Size: 183 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Gmail OAuth2 Mailer
Este es un proyecto demo de cómo enviar correos con Gmail usando Oauth2 de Google.
### **1\. Habilitar Gmail API**
1. Ve a la Google Cloud Console.
2. Crea un proyecto o selecciona uno existente.
3. Habilita la **Gmail API**:
* En el menú "APIs y servicios", selecciona "Biblioteca".
* Busca "Gmail API" y haz clic en "Habilitar".
4. Configura credenciales:
* En "APIs y servicios" > "Credenciales", haz clic en "Crear credenciales".
* Selecciona "ID de cliente OAuth".
* Configura una pantalla de consentimiento de OAuth:
* Llena los campos requeridos, como el nombre de la aplicación y la información de contacto.
* Selecciona el tipo de aplicación, como "Aplicación web".
* Proporciona un URI de redirección. Por ejemplo: http://localhost:8080/oauth2-callback
### **2\. Configurar variables de entorno**
En el archivo .env, agrega las credenciales de OAuth2 y la configuración de Gmail:
```
MAIL_MAILER=gmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_FROM_ADDRESS=user@gmail.com
MAIL_USERNAME=user@gmail.com
MAIL_FROM_NAME="Support Team"
MAIL_ENCRYPTION=tls
MAIL_SUPPORT_TEAM=user@gmail.com
GMAIL_CLIENT_ID=xxxxxxxx.apps.googleusercontent.com
GMAIL_CLIENT_SECRET=xxxxxxxx
GMAIL_ACCESS_TOKEN=xxxxxxxx
GMAIL_REFRESH_TOKEN=xxxxxxxx
GMAIL_REDIRECT_URI=http://localhost:8080/oauth2-callback
```
> **Nota:** MAIL\_PASSWORD se deja como null porque usarás OAuth2 para autenticarte.
## **3\.Excluir la verificación CSRF (Solo por temas prácticos)**
app/Http/Middleware/VerifyCsrfToken.php
```
protected $except = [
'/mail-test', // Añadir esta línea
];
```
## **3\. Obtener Authorization URL**
Correr el proyecto usando:
```php artisan serve --host=localhost --port=8080```
Entrar a siguiente URL (verificar antes tu puerto actual puerto):
> http://localhost:8080/oauth2-callback
Esto generará una URL de autorización, copiar e ingresar al navegador, nos traerá el access token y refresh token, esos dos datos copiarlos al .env:
```
GMAIL_ACCESS_TOKEN=xxxxx
GMAIL_REFRESH_TOKEN=xxxxx
````
## **4\. Probar el proyecto**
Por último, para fines prácticos, abrir Postman y hacer la siguiente petición mediante post:
POST:
> http://127.0.0.1:8080/mail-test