Created
January 9, 2025 01:22
-
-
Save garywill/1153c8ed53aa3621caf37788f46ef9c6 to your computer and use it in GitHub Desktop.
用mutt在终端里收邮件,用IMAP,不下载
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| TDIR=$(mktemp -d /dev/shm/imapread-XXXXX) | |
| cd "$TDIR" | |
| touch alias mutt_certificates mutthistory postponed sent signature | |
| mkdir Mail mbox spool tmp | |
| account="$1" | |
| declare -A server_addrs | |
| server_addrs=( | |
| ["yahoo.com_prot"]="imap" | |
| ["yahoo.com_imap"]="imap.mail.yahoo.com" | |
| ["163.com_prot"]="imap" | |
| ["163.com_imap"]="imap.163.com" | |
| ) | |
| # TODO 把这些放其他地方 | |
| declare -A acct_pswds | |
| acct_pswds=( | |
| ["who@aaa.com"]="xxxxxxxxxxx" | |
| ) | |
| domain=$(echo "$account" | cut -d@ -f2) | |
| echo "domain: $domain" | |
| prot=${server_addrs["${domain}_prot"]} | |
| echo "protocol: $prot" | |
| server=${server_addrs["${domain}_${prot}"]} | |
| echo "receiving server address: $server" | |
| smtp_server=${server_addrs["${domain}_smtp"]} | |
| echo "sending server address: $smtp_server" | |
| password=${acct_pswds["$account"]} | |
| cat << EOF > "$TDIR/muttrc" | |
| set alias_file="$TDIR/alias" | |
| set certificate_file="$TDIR/mutt_certificates" | |
| #set folder="$TDIR/Mail" # dir | |
| set history_file="$TDIR/mutthistory" | |
| set mbox="$TDIR/mbox" # dir | |
| set postponed="$TDIR/postponed" | |
| set record="$TDIR/sent" | |
| set signature="$TDIR/signature" | |
| #set spoolfile="$TDIR/spool" # dir | |
| set tmpdir="$TDIR/tmp" # dir | |
| set read_only=yes | |
| #set charset="utf8" | |
| #set charset="gbk" | |
| set ssl_force_tls = yes | |
| set mail_check=9999 | |
| set pop_checkinterval=9999 | |
| set pop_delete=no | |
| set pop_reconnect=no | |
| set pop_last = yes | |
| #bind index G imap-fetch-mail | |
| set folder = "${prot}s://${server}" | |
| set ${prot}_user = "$account" | |
| set ${prot}_pass = "$password" | |
| set smtp_url = "smtps://${account}@${smtp_server}" | |
| set smtp_pass = "$password" | |
| # must be last | |
| set spoolfile = "+INBOX" | |
| EOF | |
| xdg-terminal "bash -c \"mutt -F \\\"$TDIR/muttrc\\\" ; rm -rf \\\"$TDIR\\\" \" " |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment