Если mailx
не делает то, что вы хотите, вы можете напрямую поговорить с sendmail
.
# Speculative; see below
PATH=/usr/libexec:$PATH
query1=$(sqlplus -s "$ORA_UID_PSWD" << 'EOF'
set heading OFF
SELECT cu.cntct_email
FROM cm_user cu, cm_usertype ct
WHERE trunc(cu.xprtn_dt) = trunc(sysdate) - 60
AND cu.cm_user_id=ct.cm_user_id
AND ct.user_type = 'E'
AND cu.cntct_email is not null;
EOF
)
# no need for further normalization of $query1 actually
sendmail -oi $query1 <<'EOF'
Subject: Password expired
To: undisclosed-recipients:;
Hi,
FYI... Your password has expired 60 days ago.
Please login and get it reset.
Thanks
EOF
Если sendmail
отсутствует в вашем PATH
, возможно, обновите PATH
(возможно, только в этом сценарии), так оно и есть.Общие местоположения включают /usr/sbin
, /usr/libexec
и т.д .;но обратитесь к документации вашей платформы для лучшего угадывания, если это не поможет.
Нет необходимости в явном заголовке Bcc:
;На самом деле Sendmail игнорирует заголовки, когда вы указываете получателей в командной строке.