def send_message
return false if !edited? && !BufferManager.ask_yes_or_no("Message unedited. Really send?")
return false if $config[:confirm_no_attachments] && mentions_attachments? && @attachments.size == 0 && !BufferManager.ask_yes_or_no("You haven't added any attachments. Really send?")
return false if $config[:confirm_top_posting] && top_posting? && !BufferManager.ask_yes_or_no("You're top-posting. That makes you a bad person. Really send?")
from_email =
if @header["From"] =~ /<?(\S+@(\S+?))>?$/
$1
else
AccountManager.default_account.email
end
acct = AccountManager.account_for(from_email) || AccountManager.default_account
BufferManager.flash "Sending..."
begin
date = Time.now
m = build_message date
IO.popen(acct.sendmail, "w") { |p| p.puts m }
raise SendmailCommandFailed, "Couldn't execute #{acct.sendmail}" unless $? == 0
SentManager.write_sent_message(date, from_email) { |f| f.puts sanitize_body(m.to_s) }
BufferManager.kill_buffer buffer
BufferManager.flash "Message sent!"
true
rescue SystemCallError, SendmailCommandFailed, CryptoManager::Error => e
warn "Problem sending mail: #{e.message}"
BufferManager.flash "Problem sending mail: #{e.message}"
false
end
end