Mournmail
Mournmail is a message user agent for Textbringer.
Installation
$ gem install mournmail
Configuration
CONFIG[:mournmail_accounts] = {
"example.com" => {
from: "Shugo Maeda <shugo@example.com>",
delivery_method: :smtp,
delivery_options: {
address: "smtp.example.com",
port: 465,
domain: Socket.gethostname,
user_name: "shugo",
password: File.read("/path/to/smtp_passwd").chomp,
authentication: "login",
tls: true,
ca_file: "/path/to/ca.pem"
},
imap_host: "imap.example.com",
imap_options: {
auth_type: "PLAIN",
user_name: "shugo",
password: File.read("/path/to/imap_passwd").chomp,
ssl: { ca_file: "/path/to/ca.pem" }
},
spam_mailbox: "spam",
outbox_mailbox: "outbox",
archive_mailbox_format: "archive/%Y",
signature: <<~EOF
--
Shugo Maeda <shugo@example.com>
EOF
},
"gmail.com" => {
from: "Example <example@gmail.com>",
delivery_method: :smtp,
delivery_options: {
address: "smtp.gmail.com",
port: 587,
domain: Socket.gethostname,
user_name: "example@gmail.com",
password: File.read("/path/to/gmail_passwd").chomp,
authentication: "login",
enable_starttls_auto: true
},
imap_host: "imap.gmail.com",
imap_options: {
auth_type: "PLAIN",
user_name: "example@gmail.com",
password: File.read(File.expand_path("~/.textbringer/gmail_passwd")).chomp,
ssl: true
},
spam_mailbox: "[Gmail]/迷惑メール",
archive_mailbox_format: false
},
}Usage
Type M-x mail to send a mail.
Type M-x mournmail to visit INBOX.
Key bindings
Summary
| Key | Command | Description |
|---|---|---|
| s | mournmail_summary_sync | Sync summary. With C-u sync all mails |
| SPC | summary_read_command | Read a mail |
| C-h | summary_scroll_down_command | Scroll down the current message |
| n | summary_next_command | Display the next mail |
| w | summary_write_command | Write a new mail |
| a | summary_reply_command | Reply to the current message |
| A | summary_reply_command | Reply to the current message |
| f | summary_forward_command | Forward the current message |
| u | summary_toggle_seen_command | Toggle Seen |
| $ | summary_toggle_flagged_command | Toggle Flagged |
| d | summary_toggle_deleted_command | Toggle Deleted |
| x | summary_toggle_mark_command | Toggle mark |
| * a | summary_mark_all_command | Mark all mails |
| * n | summary_unmark_all_command | Unmark all mails |
| * r | summary_mark_read_command | Mark read mails |
| * u | summary_mark_unread_command | Mark unread mails |
| * s | summary_mark_flagged_command | Mark flagged mails |
| * t | summary_mark_unflagged_command | Mark unflagged mails |
| y | summary_archive_command | Archive mails. Archived mails will be deleted or refiled from the server, and only shown by summary_search_command |
| o | summary_refile_command | Refile marked mails |
| ! | summary_refile_spam_command | Refile marked mails as spam |
| p | summary_prefetch_command | Prefetch mails |
| X | summary_expunge_command | Expunge deleted mails |
| v | summary_view_source_command | View source of a mail |
| M | summary_merge_partial_command | Merge marked message/partial |
| q | mournmail_quit | Quit Mournmail |
| k | previous_line | Move up |
| j | next_line | Move down |
| m | mournmail_visit_mailbox | Visit mailbox |
| S | mournmail_visit_spam_mailbox | Visit spam mailbox |
| / | summary_search_command | Search mails |
| t | summary_show_thread_command | Show the thread of the current mail |
| @ | summary_change_account_command | Change the current account |
Message
| Key | Command | Description |
|---|---|---|
| RET | message_open_link_or_part_command | Open link or MIME part |
| s | message_save_part_command | Save the MIME part |
| TAB | message_next_link_or_part_command | Go to the next link or MIME part |
Draft
| Key | Command | Description |
|---|---|---|
| C-c C-c | draft_send_command | Send a mail |
| C-c C-k | draft_kill_command | Kill the draft buffer |
| C-c C-x TAB | draft_attach_file_command | Attach a file |
| C-c C-x v | draft_pgp_sign_command | PGP sign |
| C-c C-x e | draft_pgp_encrypt_command | PGP encrypt |
| C-c TAB | insert_signature_command | Insert signature |
| C-c @ | draft_change_account_command | Change account |
| TAB | draft_complete_or_insert_tab_command | Complete a mail address or insert a tab |
Development
After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/shugo/mournmail.
License
The gem is available as open source under the terms of the MIT License.