|
@@ -1,6 +1,9 @@
|
|
#!/usr/bin/env sh
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
-# support local mail app
|
|
|
|
|
|
+#Support local mail app
|
|
|
|
+
|
|
|
|
+#MAIL_FROM="yyyy@gmail.com"
|
|
|
|
+#MAIL_TO="yyyy@gmail.com"
|
|
|
|
|
|
mail_send() {
|
|
mail_send() {
|
|
_subject="$1"
|
|
_subject="$1"
|
|
@@ -10,6 +13,61 @@ mail_send() {
|
|
_debug "_content" "$_content"
|
|
_debug "_content" "$_content"
|
|
_debug "_statusCode" "$_statusCode"
|
|
_debug "_statusCode" "$_statusCode"
|
|
|
|
|
|
- _err "Not implemented yet."
|
|
|
|
- return 1
|
|
|
|
|
|
+ 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"
|
|
}
|
|
}
|