- How do I install and configure the AIQEDGE SMTP channel in Laravel?
- Run `composer require aiqedge/smtp-notifications-channel`, then add your API key and endpoint to `.env` under `AIQEDGE_SMTP_KEY` and `AIQEDGE_SMTP_URL`. Update `config/services.php` to reference these values. No additional publishing is required unless the package supports it.
- Which Laravel versions does this package support?
- The package targets Laravel 8.x and above, leveraging modern notification syntax. Ensure your project uses PHP 8.0+ for compatibility. Test thoroughly if using Laravel 9.x or 10.x, as API changes may affect integration.
- Can I send attachments or HTML emails with this channel?
- The package forwards raw payloads to the AIQEDGE SMTP API, so support depends on their API capabilities. Check the [Postman reference](https://www.postman.com/paullaster-haurweengs/aiqedge-smtp/request/q7isdaa/send-email) for allowed fields like `html_body` or `attachments`. Customize `toAiqedgeSmtp()` accordingly.
- How do I handle failed API requests or rate limits?
- Failed requests are logged via Laravel’s logging system. For retries, implement a custom queue worker or middleware. Monitor logs for `aiqedge-smtp` errors and adjust your `toAiqedgeSmtp()` payload or rate limits in `.env` if needed.
- Is there a fallback mechanism if AIQEDGE SMTP goes down?
- No built-in fallback exists. To mitigate downtime, consider wrapping the notification logic in a try-catch block and falling back to Laravel’s default mail channel or a queue job. Monitor AIQEDGE’s SLA for reliability metrics.
- How do I test this channel in my Laravel application?
- Mock the AIQEDGE SMTP API responses using tools like Vesper or Mockery. Test edge cases like invalid emails, missing fields, or API timeouts. Ensure your `toAiqedgeSmtp()` method returns valid data matching the [Postman schema](https://www.postman.com/paullaster-haurweengs/aiqedge-smtp/request/q7isdaa/send-email).
- What are the cost implications of using AIQEDGE SMTP?
- Costs depend on AIQEDGE’s pricing model (e.g., pay-per-email or tiered plans). Compare it with alternatives like SendGrid or Mailgun for volume discounts. Review their API documentation for rate limits and overage fees to align with your project’s email volume.
- Can I use this channel alongside Laravel’s built-in mail driver?
- Yes, but they serve different purposes. Use `AiqedgeSmtpChannel` for external SMTP relay (e.g., transactional emails) and Laravel’s mail driver for local development or internal SMTP. Configure both in `config/mail.php` and `config/services.php` as needed.
- How do I debug issues like missing emails or API errors?
- Check Laravel logs for `aiqedge-smtp` errors. Enable debug mode (`APP_DEBUG=true`) and inspect the raw payload sent to AIQEDGE by logging the `toAiqedgeSmtp()` output. Use Postman to validate your API key and endpoint separately.
- What alternatives exist for sending Laravel notifications via SMTP?
- Consider Laravel’s built-in mail driver for local SMTP, or dedicated packages like `spatie/laravel-mailables` for templated emails. For third-party APIs, alternatives include `laravel-notification-channels/sendgrid` or `laravel-notification-channels/mailgun`, which offer more features and documentation.