{"id":1793,"date":"2024-02-03T15:37:46","date_gmt":"2024-02-03T06:37:46","guid":{"rendered":"https:\/\/www.rocher.kyoto.jp\/arbr\/?p=1793"},"modified":"2024-09-17T21:13:02","modified_gmt":"2024-09-17T12:13:02","slug":"python%e3%81%aeimport-imaplib%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e5%90%8d%e3%82%92%e4%bd%bf%e3%81%86%e5%a0%b4%e5%90%88%e3%81%af%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc","status":"publish","type":"post","link":"https:\/\/www.rocher.kyoto.jp\/arbr\/?p=1793","title":{"rendered":"python\u306eimport imaplib\u3067\u65e5\u672c\u8a9e\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u4f7f\u3046\u5834\u5408\u306f\u30a8\u30f3\u30b3\u30fc\u30c9\u304c\u5fc5\u8981"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u74b0\u5883<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PRETTY_NAME=&#8221;Ubuntu 22.04.3 LTS&#8221;<\/li>\n\n\n\n<li>Python 3.10.12<\/li>\n\n\n\n<li>pip 22.0.2 from \/usr\/lib\/python3\/dist-packages\/pip (python 3.10)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u624b\u9806<\/h2>\n\n\n\n<p>imap_tools\u3068\u3044\u3046\u306e\u304c\u697d\u3089\u3057\u3044\u306e\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install imap_tools<\/code><\/pre>\n\n\n\n<p>\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u5b9f\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import imap_tools\nmailbox_name = \"INBOX.\u30b8\u30e0.\u4e88\u7d04\"\nstatus, messages = mail.select(<strong>imap_tools.imap_utf7.encode(mailbox_name)<\/strong>)\n\n\n\u203bUbuntsu\u309224\u306b\u3042\u3052\u305f\u3068\u304d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fimap_tools-1.7.2\u3067\u306f<strong>imap_tools.imap_utf7.encode<\/strong>\u304b\u3089<strong>imap_tools.imap_utf7.utf7_encode<\/strong>\u3068\u5fae\u5999\u306a\u540d\u79f0\u5909\u66f4\u304c\u5165\u3063\u3066\u3044\u308b<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f55\u3082\u3057\u306a\u3044\u5834\u5408\u306e\u30a8\u30e9\u30fc<\/h2>\n\n\n\n<p>mail.select(&#8220;INBOX.\u30b8\u30e0.\u4e88\u7d04&#8221;)<\/p>\n\n\n\n<p>\u3068\u3057\u3066<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yoshitake@mail:~\/dovecot_delivery$ python3 test.py \nTraceback (most recent call last):\n  File \"\/home\/yoshitake\/dovecot_delivery\/test.py\", line 15, in &lt;module&gt;\n    mail.select(\"INBOX.\u30b8\u30e0.\u4e88\u7d04\")\n  File \"\/usr\/lib\/python3.10\/imaplib.py\", line 756, in select\n    typ, dat = self._simple_command(name, mailbox)\n  File \"\/usr\/lib\/python3.10\/imaplib.py\", line 1230, in _simple_command\n    return self._command_complete(name, self._command(name, *args))\n  File \"\/usr\/lib\/python3.10\/imaplib.py\", line 987, in _command\n    arg = bytes(arg, self._encoding)\n<strong>UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-7: ordinal not in range(128)<\/strong>\n\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30bd\u30fc\u30b9\u5168\u4f53<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>import imaplib\nimport imap_tools\nfrom email.header import decode_header\n\n# IMAP\u30b5\u30fc\u30d0\u306e\u8a2d\u5b9a\nmail_server = 'mail.huga.co.jp'\nusername = 'hoge'\npassword = 'hugahuga'\n\n# IMAP\u30b5\u30fc\u30d0\u306b\u63a5\u7d9a\nmail = imaplib.IMAP4_SSL(mail_server)\nmail.login(username, password)\n\n# # \u30e1\u30fc\u30eb\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\nmailbox_name = \"INBOX.\u30b8\u30e0.\u4e88\u7d04\"\nstatus, messages = mail.select(imap_tools.imap_utf7.encode(mailbox_name))\n\n# # \u30e1\u30fc\u30eb\u691c\u7d22\uff08\u4f8b: \u672a\u8aad\u30e1\u30fc\u30eb\uff09\nstatus, messages = mail.search(None, \"(UNSEEN)\")\nunread_count = len(messages&#91;0].split())\nprint(f\"\u672a\u8aad\u30e1\u30fc\u30eb\u306e\u4ef6\u6570: {unread_count}\")\n\n# \u63a5\u7d9a\u3092\u9589\u3058\u308b\nmail.close()\nmail.logout()<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u74b0\u5883 \u624b\u9806 imap_tools\u3068\u3044\u3046\u306e\u304c\u697d\u3089\u3057\u3044\u306e\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u5b9f\u884c \u4f55\u3082\u3057\u306a\u3044\u5834\u5408\u306e\u30a8\u30e9\u30fc mail.select(&#8220;INBOX.\u30b8\u30e0.\u4e88\u7d04&#8221;) \u3068\u3057\u3066 yoshitake@m [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58],"tags":[129,128,80],"class_list":["post-1793","post","type-post","status-publish","format-standard","hentry","category-58","tag-mail","tag-python","tag-80"],"_links":{"self":[{"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/posts\/1793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1793"}],"version-history":[{"count":5,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/posts\/1793\/revisions"}],"predecessor-version":[{"id":2082,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=\/wp\/v2\/posts\/1793\/revisions\/2082"}],"wp:attachment":[{"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rocher.kyoto.jp\/arbr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}