こんにちは私はこのコードに問題があります:
# up here there"s more code
echo "Password changed" $(date) > lez.txt
curl -n --ssl-reqd --mail-from "me@lupetto.sh" --mail-rcpt "my mail" -T lez.txt --url smtps://smtp.gmail.com:465 --user "example@gmail.com:password"
スクリプトを実行すると空のメールしか届きませんが、手動で実行するとメールが届きます。 ありがとう。
回答:
回答№1の場合は3ファイルの内容を見つけるのに問題があるようです。 ストリングス ファイルの書き込みをまったく回避するには?コードを次のように変更します。
curl -n --ssl-reqd --mail-from "me@lupetto.sh" --mail-rcpt "my mail" -T - --url smtps://smtp.gmail.com:465 --user "example@gmail.com:password" <<<"Password changed $(date)"
注目に値する echo
ステートメントの削除、行末のhere-string、および -T -
stdinからファイルを取得します。
回答№2の場合は0
cURLは、送信されるファイルの1行目に空の行があることを想定しています
以下のスクリプトはあなたのためにそれを行います
##!/bin/sh
# USAGE
#
# sh emailfile.sh examplefile.log
file="$1"
echo "" > temp | cat "$1" >> temp && mv temp "$1"
wait
curl --url "smtps://smtp.mail.yahoo.com:465"
--mail-from "youremail@yahoo.com"
--mail-rcpt "dest@domain.com"
--user "youremail@yahoo.com:EmailAccountPassword"
-T - --silent < "$file"
wait