{"id":21144603,"url":"https://github.com/shugo/mournmail","last_synced_at":"2026-03-03T08:24:08.810Z","repository":{"id":56884615,"uuid":"87402834","full_name":"shugo/mournmail","owner":"shugo","description":"A message user agent for Textbringer","archived":false,"fork":false,"pushed_at":"2024-09-06T02:06:57.000Z","size":359,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-14T15:13:58.556Z","etag":null,"topics":["mail","ruby","textbringer"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shugo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-06T08:02:14.000Z","updated_at":"2024-09-06T02:07:01.000Z","dependencies_parsed_at":"2023-10-02T09:16:21.074Z","dependency_job_id":"d2c90ef0-96a8-47e6-9b55-dbf4f1e98d56","html_url":"https://github.com/shugo/mournmail","commit_stats":{"total_commits":299,"total_committers":2,"mean_commits":149.5,"dds":"0.010033444816053505","last_synced_commit":"b23819f760f8477140a9fdaaf32b40eebaa81b5a"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Fmournmail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Fmournmail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Fmournmail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shugo%2Fmournmail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shugo","download_url":"https://codeload.github.com/shugo/mournmail/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225490357,"owners_count":17482557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mail","ruby","textbringer"],"created_at":"2024-11-20T08:19:53.575Z","updated_at":"2026-03-03T08:24:08.775Z","avatar_url":"https://github.com/shugo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mournmail\n\nMournmail is a message user agent for\n[Textbringer](https://github.com/shugo/textbringer).\n\n## Installation\n\n    $ gem install mournmail\n\n## Configuration\n\n```ruby\nCONFIG[:mournmail_accounts] = {\n  \"example.com\" =\u003e {\n    from: \"Shugo Maeda \u003cshugo@example.com\u003e\",\n    delivery_method: :smtp,\n    delivery_options: {\n      address: \"smtp.example.com\",\n      port: 465,\n      domain: Socket.gethostname,\n      user_name: \"shugo\",\n      password: File.read(\"/path/to/smtp_passwd\").chomp,\n      authentication: \"login\",\n      tls: true,\n      ca_file: \"/path/to/ca.pem\"\n    },\n    imap_host: \"imap.example.com\",\n    imap_options: {\n      auth_type: \"PLAIN\",\n      user_name: \"shugo\",\n      password: File.read(\"/path/to/imap_passwd\").chomp,\n      ssl: { ca_file: \"/path/to/ca.pem\" }\n    },\n    spam_mailbox: \"spam\",\n    outbox_mailbox: \"outbox\",\n    archive_mailbox_format: \"archive/%Y\",\n    signature: \u003c\u003c~EOF\n      -- \n      Shugo Maeda \u003cshugo@example.com\u003e\n    EOF\n  },\n  \"gmail.com\" =\u003e {\n    from: \"Example \u003cexample@gmail.com\u003e\",\n    delivery_method: :smtp,\n    delivery_options: {\n      address: \"smtp.gmail.com\",\n      port: 587,\n      domain: Socket.gethostname,\n      user_name: \"example@gmail.com\",\n      password: File.read(\"/path/to/gmail_passwd\").chomp,\n      authentication: \"login\",\n      enable_starttls_auto: true\n    },\n    imap_host: \"imap.gmail.com\",\n    imap_options: {\n      auth_type: \"PLAIN\",\n      user_name: \"example@gmail.com\",\n      password: File.read(File.expand_path(\"~/.textbringer/gmail_passwd\")).chomp,\n      ssl: true\n    },\n    spam_mailbox: \"[Gmail]/迷惑メール\",\n    archive_mailbox_format: false\n  },\n}\n```\n\n## Usage\n\nType `M-x mail` to send a mail.\n\nType `M-x mournmail` to visit INBOX.\n\n## Key bindings\n\n### Summary\n\n|Key |Command |Description |\n|---|---|---|\n|s   |mournmail_summary_sync |Sync summary. With C-u sync all mails |\n|SPC |summary_read_command |Read a mail |\n|C-h |summary_scroll_down_command |Scroll down the current message |\n|n   |summary_next_command |Display the next mail |\n|w   |summary_write_command |Write a new mail |\n|a   |summary_reply_command |Reply to the current message |\n|A   |summary_reply_command |Reply to the current message |\n|f   |summary_forward_command |Forward the current message |\n|u   |summary_toggle_seen_command |Toggle Seen |\n|$   |summary_toggle_flagged_command |Toggle Flagged |\n|d   |summary_toggle_deleted_command |Toggle Deleted |\n|x   |summary_toggle_mark_command |Toggle mark |\n|* a |summary_mark_all_command |Mark all mails |\n|* n |summary_unmark_all_command |Unmark all mails |\n|* r |summary_mark_read_command |Mark read mails |\n|* u |summary_mark_unread_command |Mark unread mails |\n|* s |summary_mark_flagged_command |Mark flagged mails |\n|* t |summary_mark_unflagged_command |Mark unflagged mails |\n|y   |summary_archive_command |Archive mails. Archived mails will be deleted or refiled from the server, and only shown by summary_search_command |\n|o   |summary_refile_command |Refile marked mails |\n|!   |summary_refile_spam_command |Refile marked mails as spam |\n|p   |summary_prefetch_command |Prefetch mails |\n|X   |summary_expunge_command |Expunge deleted mails |\n|v   |summary_view_source_command |View source of a mail |\n|M   |summary_merge_partial_command |Merge marked message/partial |\n|q   |mournmail_quit |Quit Mournmail |\n|k   |previous_line |Move up |\n|j   |next_line |Move down |\n|m   |mournmail_visit_mailbox |Visit mailbox |\n|S   |mournmail_visit_spam_mailbox |Visit spam mailbox |\n|/   |summary_search_command |Search mails |\n|t   |summary_show_thread_command |Show the thread of the current mail |\n|@   |summary_change_account_command |Change the current account |\n\n### Message\n\n|Key |Command |Description |\n|---|---|---|\n|RET |message_open_link_or_part_command |Open link or MIME part |\n|s   |message_save_part_command |Save the MIME part |\n|TAB |message_next_link_or_part_command| Go to the next link or MIME part |\n\n### Draft\n\n|Key |Command |Description |\n|---|---|---|\n|C-c C-c     |draft_send_command |Send a mail |\n|C-c C-k     |draft_kill_command |Kill the draft buffer |\n|C-c C-x TAB |draft_attach_file_command |Attach a file |\n|C-c C-x v   |draft_pgp_sign_command |PGP sign |\n|C-c C-x e   |draft_pgp_encrypt_command |PGP encrypt |\n|C-c TAB     |insert_signature_command |Insert signature |\n|C-c @       |draft_change_account_command |Change account |\n|TAB         |draft_complete_or_insert_tab_command |Complete a mail address or insert a tab |\n\n## Development\n\nAfter 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.\n\nTo 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](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/shugo/mournmail.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshugo%2Fmournmail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshugo%2Fmournmail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshugo%2Fmournmail/lists"}