簡體   English   中英

如何在mailx中插入姓名字段

[英]How to insert name field in mailx

我的示例數據文件是

$ cat /fullpath/myfile.csv
a@gmail.com, A Singh
k@gmail.com, K Singh

我正在使用 script.sh

   #!/bin/bash

while IFS= read -r line
do


email=$(echo $line | awk -F, '{print $1 }')
name=$(echo $line | awk -F, '{print $2 }')


echo | mailx -v -s "Helo $name" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.gmail.com:587 -S from="xxxx@gmail.com(John Smith)" -S smtp-auth-user=xxxx@gmail.com -S  smtp-auth-password=xxxxpassword -S ssl-verify=ignore -S nss-config-dir=~/.certs "$name<$email>" 

done < /fullpath/myfile.csv

添加接收者名稱的正確語法是什么


我正在尋找我在下面嘗試過的找不到的語法

"$name<$email>"
$name<$email>
-S to:"$name<$email>"
-S To:"$name<$email>"
-S To: "$name <$email>"
-S To: $name <$email>

它選擇名稱( A Singh )作為電子郵件並說無效的電子郵件。 如果我使用 To,它會選擇 TO 作為電子郵件。 即在certs代碼圖片作為電子郵件之后出現的任何內容。

根據標准文檔,mailx 似乎不支持 -S 選項,但某些系統可能會添加此選項。

我建議您使用GNU Mailutils

要指定“FROM”名稱和地址,可以使用“-a”選項。

-a 標題:值

--append=header:value

 Append the given header to the composed message.

要指定收件人姓名和地址,就像您所做的那樣,在命令末尾添加姓名和電子郵件即可完成工作。

#!/bin/bash

while IFS= read -r line
do

email=$(echo $line | awk -F, '{print $1 }')
name=$(echo $line | awk -F, '{print $2 }')

mail -s "Hello $name" -a "From: John Smith<xxxx@gmail.com>" "$name<$email>"
#echo | mailx -v -s "Helo $name" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.gmail.com:587 -S from="xxxx@gmail.com(John Smith)" -S smtp-auth-user=xxxx@gmail.com -S  smtp-auth-password=xxxxpassword## -S ssl-verify=ignore -S nss-config-dir=~/.certs "$name<$email>" 

done < ./myfile.csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM