Prerequisites
Before you begin, ensure you have:System Requirements
System Requirements
- PHP installed on your system (Download PHP)
- Composer for package management (Install Composer)
- Basic knowledge of PHP and command line usage
AhaSend Setup
AhaSend Setup
- Domain verified in your AhaSend account
- SMTP credentials created (username and password)
- Access to your AhaSend dashboard for credential management
Need SMTP Credentials? If you haven’t created SMTP credentials yet, check out our SMTP Credentials guide for step-by-step instructions.
Connection Settings
Use these settings for all Go SMTP configurations with AhaSend:Primary Server
Host:
send.ahasend.com
Ports: 587 (recommended), 25, 2525
Security: STARTTLS
Authentication: RequiredUS Server
Host:
send-us.ahasend.com
Ports: 587 (recommended), 25, 2525
Security: STARTTLS
Authentication: RequiredPHPMailer Integration
PHPMailer is the most popular and feature-rich PHP email library, supporting HTML messages, attachments, and advanced SMTP features.Installation
Install PHPMailer using Composer:Basic Email Example
PHPMailer with Special Headers
Add AhaSend’s special headers for tracking, sandbox mode, and more:PHPMailer with Headers
Symfony Mailer Integration
Symfony Mailer is a modern, powerful email library that’s part of the Symfony ecosystem and used by Laravel.Installation
Install Symfony Mailer using Composer:Basic Examples
Laravel Configuration
Laravel uses Symfony Mailer internally. Configure AhaSend SMTP by updating your.env file:
Environment Configuration
Laravel .env Configuration
Sending Emails in Laravel
Best Practices
Error Handling
Error Handling
Always use try-catch blocks:
- Wrap email sending in try-catch statements
- Log errors for debugging
- Provide user-friendly error messages
- Consider retry mechanisms for temporary failures
Security Considerations
Security Considerations
Protect your credentials:
- Store SMTP credentials in environment variables
- Never commit credentials to version control
- Use different credentials for different environments
- Regularly rotate SMTP passwords
Performance Optimization
Performance Optimization
Optimize for better performance:
- Use queue systems for bulk emails (Laravel Queues, etc.)
- Reuse SMTP connections when sending multiple emails
- Consider async sending for non-critical emails
- Monitor sending rates to avoid limits
Testing with Sandbox Mode
Use sandbox mode to test your PHP email integration safely:Sandbox Testing Examples
Sandbox Benefits: Emails sent in sandbox mode are free, trigger webhooks normally, and never actually deliver to recipients - perfect for development and testing.
Troubleshooting
Authentication Failures
Authentication Failures
Common authentication issues:
- Verify SMTP username and password are correct
- Ensure you’re using SMTP credentials, not your dashboard login
- Check that credentials haven’t expired
- Confirm domain is verified in AhaSend
Connection Problems
Connection Problems
Network and connection issues:
- Try different ports: 587 (recommended), 25, or 2525
- Ensure STARTTLS is enabled, not SSL
- Check firewall settings aren’t blocking SMTP
- Verify server allows outbound SMTP connections
Laravel-Specific Issues
Laravel-Specific Issues
Laravel configuration problems:
- Clear config cache:
php artisan config:clear - Verify .env file syntax (no spaces around equals signs)
- Check mail configuration:
php artisan config:show mail - Test with
php artisan tinkerfor debugging

