]> git.notmuchmail.org Git - sup/commitdiff
handle sendmail command failing (thanks brian)
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Wed, 30 May 2007 07:08:39 +0000 (07:08 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Wed, 30 May 2007 07:08:39 +0000 (07:08 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@421 5c8cc53c-5e98-4d25-b20a-d8db53a31250

lib/sup/modes/edit-message-mode.rb

index acffd8236cbf55fb435de7aea0dd31ae5c625643..bf48a64b1f274f2799c6cb67ee0cbf429ed76870 100644 (file)
@@ -118,13 +118,20 @@ protected
       end
 
     acct = AccountManager.account_for(from_email) || AccountManager.default_account
-    SentManager.write_sent_message(date, from_email) { |f| write_message f, true, date }
     BufferManager.flash "Sending..."
 
-    IO.popen(acct.sendmail, "w") { |p| write_message p, true, date }
-
-    BufferManager.kill_buffer buffer
-    BufferManager.flash "Message sent!"
+    begin
+      IO.popen(acct.sendmail, "w") { |p| write_message p, true, date }
+    rescue SystemCallError
+    end
+    if $? == 0
+      SentManager.write_sent_message(date, from_email) { |f| write_message f, true, date }
+      BufferManager.kill_buffer buffer
+      BufferManager.flash "Message sent!"
+    else
+      Redwood::log "Non-zero return value in running sendmail command for #{acct.longname}: #{acct.sendmail.inspect}"
+      BufferManager.flash "Problem sending mail. See log for details."
+    end
   end
 
   def save_as_draft