【问题标题】:getting error mailx: illegal option -- a while adding attachment in bash scripting收到错误mailx:非法选项-在bash脚本中添加附件时
【发布时间】:2020-06-14 20:41:03
【问题描述】:
echo "${MAIL_MSG}"| mailx -a "${opfile}" -s "${MAIL_SUBJ}" "${DW_EMAIL_LIST}"  

上面的命令抛出错误mailx:非法选项--a。你能帮我解决一下吗?

【问题讨论】:

  • 请提供一些额外的设置细节。比如什么操作系统,什么版本等等。
  • 使用 shell 连接到服务器。 uname -a 操作:AIX mrma70p4 1 7 00F9F76C4C00

标签: shell scripting aix


【解决方案1】:

正确的命令是mail 而不是mailx

带附件的电子邮件示例:

$ echo "This is message body" | mail -s "This is Subject" -r "Harry<harry@gmail.com>" -a /path/to/file someone@example.com

【讨论】:

  • 感谢您的意见。但它不起作用 - 同样的错误。
  • 回显 ${MAIL_MSG} |上面的命令 mailx -s "${MAIL_SUBJ}" ${MAIL_LIST} 工作正常,但在尝试添加附件时出现错误。
【解决方案2】:

https://unix.stackexchange.com/questions/115334/mail-command-to-send-attachements 是关于在 AIX 上发送带有附件的邮件的类似问题。它建议mime-construct。如果这不可用,您也许可以使用mutt。看mutt man page,好像语法很像:

echo "${MAIL_MSG}" | mutt -x -s "${MAIL_SUBJ}" -a "${opfile}" -- "${DW_EMAIL_LIST}" 

以下是选项的摘要:

  • -x 是 mailx 兼容的撰写模式
  • -s是主题
  • -a是附件
  • -- 将附件与收件人分开

注意-a 必须是最后一个选项:

-a file [...] 使用 MIME 将文件附加到您的邮件中。附加单个或多个文件时,分隔文件名和收件人地址 带“--”是强制性的,例如mutt -a image.jpg -- addr1 或 mutt -a img.jpg *.png -- addr1 addr2. -a 选项必须放在最后 命令行选项。

【讨论】:

    猜你喜欢
    • 2022-12-16
    • 2023-03-19
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2012-07-07
    • 1970-01-01
    相关资源
    最近更新 更多