sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 757720198c7770dac645a970e53cccb77728b6a7
parent 6a02c6e37b07878b6d1df5b564f66eb80dd20e8d
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date:   Wed, 30 May 2007 07:08:39 +0000

handle sendmail command failing (thanks brian)

git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@421 5c8cc53c-5e98-4d25-b20a-d8db53a31250

Diffstat:
M lib/sup/modes/edit-message-mode.rb | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb
@@ -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