Allow user 'setup' to succeed even if email notification fails
authorPeter Amstutz <peter.amstutz@curii.com>
Tue, 21 Jan 2020 20:07:50 +0000 (15:07 -0500)
committerPeter Amstutz <peter.amstutz@curii.com>
Tue, 21 Jan 2020 20:07:50 +0000 (15:07 -0500)
fixes #16051

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

services/api/app/controllers/arvados/v1/users_controller.rb
services/api/app/mailers/user_notifier.rb

index 65a23f1fe7510e51fd3fbad3fb51b2698162a157..1cf3b9d78a6e9d6290e9df1886304ba7124638c5 100644 (file)
@@ -121,7 +121,11 @@ class Arvados::V1::UsersController < ApplicationController
 
     # setup succeeded. send email to user
     if params[:send_notification_email]
-      UserNotifier.account_is_setup(@object).deliver_now
+      begin
+        UserNotifier.account_is_setup(@object).deliver_now
+      rescue => e
+        logger.warn "Failed to send email to #{@object.email}: #{e}"
+      end
     end
 
     send_json kind: "arvados#HashList", items: @response.as_api_response(nil)
index 3d1b91f20eda0b3b75849dd7efca504d9059b080..ad887d035a339ff0039884237d394e820a077023 100644 (file)
@@ -9,7 +9,7 @@ class UserNotifier < ActionMailer::Base
 
   def account_is_setup(user)
     @user = user
-    mail(to: user.email, subject: 'Welcome to Arvados - shell account enabled')
+    mail(to: user.email, subject: 'Welcome to Arvados - account enabled')
   end
 
 end