Hi! I'm Henrik Nyh, a Swedish web developer based in West Yorkshire, UK.
๐ฆฃ Mastodon ย โขย ๐ธ ๐ Instagram
Use Gmail SMTP server to send emails in Rails ActionMailer
Home Page: http://www.caritos.com
License: MIT License
0
I successfully added the actionmailer to my project, so in my development stage My mails are rendering normal if I tried to use LETTER OPENER delivery method but once I switched to smtp I keep getting that error (Net::SMTPServerBusy in Devise::PasswordsController#create in Rails 7. (421 Server busy, too many connections) but the token with link is rendering on my terminal or console
421 Server busy, too many connections Extracted source (around line #1059): def check_response(res) unless res.success? raise res.exception_class.new(res) end end
this is my action mailer configuration
`
Rails.application.configure do
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
#config.action_mailer.delivery_method = :letter_opener
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'localhost:3000',
user_name: '[email protected]',
password: 'xxxxxxxxx',
authentication: 'plain',
enable_starttls_auto: true,
open_timeout: 5,
read_timeout: 5 }
config.action_mailer.raise_delivery_errors = true
`
Note: I used the google mail App password to generate password for the smtp mailer then used my mail as password
Errors from my terminal ;
`
Net::SMTPServerBusy (421 Service not available
):
net-smtp (0.3.1) lib/net/smtp.rb:1059:in check_response' net-smtp (0.3.1) lib/net/smtp.rb:642:in
do_start'
net-smtp (0.3.1) lib/net/smtp.rb:604:in start' mail (2.7.1) lib/mail/network/delivery_methods/smtp.rb:109:in
start_smtp_session'
mail (2.7.1) lib/mail/network/delivery_methods/smtp.rb:100:in deliver!' mail (2.7.1) lib/mail/message.rb:2159:in
do_delivery'
mail (2.7.1) lib/mail/message.rb:260:in block in deliver' actionmailer (7.0.3.1) lib/action_mailer/base.rb:588:in
block in deliver_mail'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.0.3.1) lib/active_support/notifications/instrumenter.rb:24:in
instrument'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in instrument' actionmailer (7.0.3.1) lib/action_mailer/base.rb:586:in
deliver_mail'
mail (2.7.1) lib/mail/message.rb:260:in deliver' actionmailer (7.0.3.1) lib/action_mailer/message_delivery.rb:119:in
block in deliver_now'
actionmailer (7.0.3.1) lib/action_mailer/rescuable.rb:17:in handle_exceptions' actionmailer (7.0.3.1) lib/action_mailer/message_delivery.rb:118:in
deliver_now'
devise (4.8.1) lib/devise/models/authenticatable.rb:204:in send_devise_notification' devise (4.8.1) lib/devise/models/recoverable.rb:99:in
send_reset_password_instructions_notification'
devise (4.8.1) lib/devise/models/recoverable.rb:52:in send_reset_password_instructions' devise (4.8.1) lib/devise/models/recoverable.rb:136:in
send_reset_password_instructions'
devise (4.8.1) app/controllers/devise/passwords_controller.rb:15:in create' actionpack (7.0.3.1) lib/action_controller/metal/basic_implicit_render.rb:6:in
send_action'
actionpack (7.0.3.1) lib/abstract_controller/base.rb:215:in process_action' actionpack (7.0.3.1) lib/action_controller/metal/rendering.rb:53:in
process_action'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:234:in block in process_action' activesupport (7.0.3.1) lib/active_support/callbacks.rb:118:in
block in run_callbacks'
actiontext (7.0.3.1) lib/action_text/rendering.rb:20:in with_renderer' actiontext (7.0.3.1) lib/action_text/engine.rb:69:in
block (4 levels) in class:Engine'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:127:in instance_exec' activesupport (7.0.3.1) lib/active_support/callbacks.rb:127:in
block in run_callbacks'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:138:in run_callbacks' actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:233:in
process_action'
actionpack (7.0.3.1) lib/action_controller/metal/rescue.rb:22:in process_action' actionpack (7.0.3.1) lib/action_controller/metal/instrumentation.rb:67:in
block in process_action'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.0.3.1) lib/active_support/notifications/instrumenter.rb:24:in
instrument'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in instrument' actionpack (7.0.3.1) lib/action_controller/metal/instrumentation.rb:66:in
process_action'
actionpack (7.0.3.1) lib/action_controller/metal/params_wrapper.rb:259:in process_action' activerecord (7.0.3.1) lib/active_record/railties/controller_runtime.rb:27:in
process_action'
actionpack (7.0.3.1) lib/abstract_controller/base.rb:151:in process' actionview (7.0.3.1) lib/action_view/rendering.rb:39:in
process'
actionpack (7.0.3.1) lib/action_controller/metal.rb:188:in dispatch' actionpack (7.0.3.1) lib/action_controller/metal.rb:251:in
dispatch'
actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:49:in dispatch' actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:32:in
serve'
actionpack (7.0.3.1) lib/action_dispatch/routing/mapper.rb:18:in block in <class:Constraints>' actionpack (7.0.3.1) lib/action_dispatch/routing/mapper.rb:48:in
serve'
actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:50:in block in serve' actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:32:in
each'
actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:32:in serve' actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:852:in
call'
warden (1.2.9) lib/warden/manager.rb:36:in block in call' warden (1.2.9) lib/warden/manager.rb:34:in
catch'
warden (1.2.9) lib/warden/manager.rb:34:in call' rack (2.2.4) lib/rack/tempfile_reaper.rb:15:in
call'
rack (2.2.4) lib/rack/etag.rb:27:in call' rack (2.2.4) lib/rack/conditional_get.rb:40:in
call'
rack (2.2.4) lib/rack/head.rb:12:in call' actionpack (7.0.3.1) lib/action_dispatch/http/permissions_policy.rb:38:in
call'
actionpack (7.0.3.1) lib/action_dispatch/http/content_security_policy.rb:36:in call' rack (2.2.4) lib/rack/session/abstract/id.rb:266:in
context'
rack (2.2.4) lib/rack/session/abstract/id.rb:260:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/cookies.rb:697:in
call'
activerecord (7.0.3.1) lib/active_record/migration.rb:603:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/callbacks.rb:27:in
block in call'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:99:in run_callbacks' actionpack (7.0.3.1) lib/action_dispatch/middleware/callbacks.rb:26:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/executor.rb:14:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in call' web-console (4.2.0) lib/web_console/middleware.rb:132:in
call_app'
web-console (4.2.0) lib/web_console/middleware.rb:28:in block in call' web-console (4.2.0) lib/web_console/middleware.rb:17:in
catch'
web-console (4.2.0) lib/web_console/middleware.rb:17:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/show_exceptions.rb:26:in
call'
railties (7.0.3.1) lib/rails/rack/logger.rb:40:in call_app' railties (7.0.3.1) lib/rails/rack/logger.rb:25:in
block in call'
activesupport (7.0.3.1) lib/active_support/tagged_logging.rb:114:in block in tagged' activesupport (7.0.3.1) lib/active_support/tagged_logging.rb:38:in
tagged'
activesupport (7.0.3.1) lib/active_support/tagged_logging.rb:114:in tagged' railties (7.0.3.1) lib/rails/rack/logger.rb:25:in
call'
sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/remote_ip.rb:93:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/request_id.rb:26:in call' rack (2.2.4) lib/rack/method_override.rb:24:in
call'
rack (2.2.4) lib/rack/runtime.rb:22:in call' activesupport (7.0.3.1) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/server_timing.rb:20:in call' actionpack (7.0.3.1) lib/action_dispatch/middleware/executor.rb:14:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/static.rb:23:in call' rack (2.2.4) lib/rack/sendfile.rb:110:in
call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/host_authorization.rb:137:in call' railties (7.0.3.1) lib/rails/engine.rb:530:in
call'
puma (5.6.4) lib/puma/configuration.rb:252:in call' puma (5.6.4) lib/puma/request.rb:77:in
block in handle_request'
puma (5.6.4) lib/puma/thread_pool.rb:340:in with_force_shutdown' puma (5.6.4) lib/puma/request.rb:76:in
handle_request'
puma (5.6.4) lib/puma/server.rb:441:in process_client' puma (5.6.4) lib/puma/thread_pool.rb:147:in
block in spawn_thread'
`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.