SendPulse SMTP — Implementation
Scope: SendPulse SMTP for transactional email delivery in production Tests: All passing (0 failures, 0 errors)
1. Configuration Files
Modified: config/environments/production.rb
SendPulse SMTP settings:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: Rails.application.credentials.dig(:sendpulse, :smtp_address) || "smtp-pulse.com",
port: Rails.application.credentials.dig(:sendpulse, :smtp_port) || 587,
user_name: Rails.application.credentials.dig(:sendpulse, :smtp_username),
password: Rails.application.credentials.dig(:sendpulse, :smtp_password),
authentication: "plain",
enable_starttls_auto: true
}
Default URL Options:
config.action_mailer.default_url_options = { host: ENV.fetch("APP_HOST", "example.com"), protocol: "https" }
2. Initializers
Modified: config/initializers/devise.rb
Mailer sender: Now reads from ENV["MAILER_SENDER"] with fallback to settings.yml:
config.mailer_sender = ENV.fetch("MAILER_SENDER") {
settings.dig("mailer", "from") || "[email protected]"
}
3. Summary of Files
Modified Files (2)
| File | Changes |
|---|---|
config/environments/production.rb |
SendPulse SMTP settings, default URL options |
config/initializers/devise.rb |
ENV-based mailer_sender with fallback |
Note: No new gems, models, or controllers are needed. SendPulse SMTP is purely a configuration change. Development continues to use
letter_openeror the default local delivery.