12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env sh
- #Support local mail app
- #MAIL_FROM="yyyy@gmail.com"
- #MAIL_TO="yyyy@gmail.com"
- mail_send() {
- _subject="$1"
- _content="$2"
- _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
- _debug "_subject" "$_subject"
- _debug "_content" "$_content"
- _debug "_statusCode" "$_statusCode"
- if _exists "sendmail"; then
- _MAIL_BIN="sendmail"
- elif _exists "mail"; then
- _MAIL_BIN="mail"
- else
- _err "Please install mail or sendmail first."
- return 1
- fi
- MAIL_FROM="${MAIL_FROM:-$(_readaccountconf_mutable MAIL_FROM)}"
- if [ -z "$MAIL_FROM" ]; then
- MAIL_FROM="$USER@$(hostname -f)"
- _info "The MAIL_FROM is not set, so use the default value: $MAIL_FROM"
- fi
- _saveaccountconf_mutable MAIL_FROM "$MAIL_FROM"
- MAIL_TO="${MAIL_TO:-$(_readaccountconf_mutable MAIL_TO)}"
- if [ -z "$MAIL_TO" ]; then
- MAIL_TO="$(_readaccountconf ACCOUNT_EMAIL)"
- _info "The MAIL_TO is not set, so use the account email: $MAIL_TO"
- fi
- _saveaccountconf_mutable MAIL_TO "$MAIL_TO"
- subject="=?UTF-8?B?$(echo "$_subject" | _base64)?="
- result=$({ _mail_body | _mail_send; } 2>&1)
- if [ $? -ne 0 ]; then
- _debug "mail send error."
- _err "$result"
- return 1
- fi
- _debug "mail send success."
- return 0
- }
- _mail_send() {
- case "$_MAIL_BIN" in
- sendmail)
- sendmail -f "$MAIL_FROM" "$MAIL_TO"
- ;;
- mail)
- mail -s "$subject" -a "From:$MAIL_FROM" -a "Content-Type:text/plain; charset=utf-8" "$MAIL_TO"
- ;;
- esac
- }
- _mail_body() {
- if [ "$_MAIL_BIN" = "sendmail" ]; then
- echo "From: $MAIL_FROM"
- echo "To: $MAIL_TO"
- echo "Subject: =?UTF-8?B?$(echo "$_subject" | _base64)?="
- echo "Content-Type: text/plain; charset=utf-8"
- echo
- fi
- echo "$_content"
- }
|