Vraag
Beste antwoord (via EverLast2002 op 15-12-2018 16:08)
Het lijkt me handiger om zoiets te gebruiken, met subjectregel:
1
2
3
| ip=$(curl https://ipecho.net/plain); \ echo -e "To: mijzelf\nSubject: Mijn IP adres\nMijn IP adres is momenteel $ip." | \ ssmtp mail@example.com |
„Ik kan ook ICT, want heel moeilijk is dit niet”
Alle reacties
Commandline FTW
command | mail -s "subject" "email"
Zoiets kan al werken, toch?
Anders een scriptje maken oid welke je output wegschrijft naar een file en vervolgens de inhoud van die file wegsturen via mail(x) en tot slot weer het bestand opruimen?
Als je Google hebt gebruikt moet je wel meer hebben kunnen vinden lijkt me.
- ssmtp mail public ip to selfHero of Time schreef op vrijdag 14 december 2018 @ 13:02:
En op welke termen heb je gezocht? Er zijn nogal wat mogelijkheden om dit te doen. Zo kan je uitvoer redirecten, maar ook direct iets uitvoeren terwijl je andere uitvoer genereert.
- mail public ip to myself
- ssmtp console output send to mail
Ik ben geen console guru, ergens zal wel een switch of een commando bestaan
om dit simpele regeltje te mailen..
Een blanco mailtje sturen is geen probleem, en daarin staat ook het ip adres dat ik moet hebben (view source).
Maar ik wil graag 1x een ip adres in een mail.
Geprobeerd, werkt niet.eric.1 schreef op vrijdag 14 december 2018 @ 13:24:
command | mail -s "subject" "email"
Zoiets kan al werken, toch?
Anders een scriptje maken oid welke je output wegschrijft naar een file en vervolgens de inhoud van die file wegsturen via mail(x) en tot slot weer het bestand opruimen?
Als je Google hebt gebruikt moet je wel meer hebben kunnen vinden lijkt me.
In pfSense met mailreport had ik het werkend.
Het commando was daarin: fetch -q -o - http://ipecho.net/plain
Mailreport kun je dan zo instellen dat ie dit elke ochtend naar je mailt.
curl https://ipecho.net/plain | mail -s IP mail@example.com
Levert netjes een mailtje op met daarin het publieke IP adres.
I'm not deaf, I'm just ignoring you.
Het commando "mail" kent ie niet, ik gebruik ssmtp..Bart schreef op vrijdag 14 december 2018 @ 19:06:
Wat werkt er dan precies niet? Het volgende werkt namelijk prima bij mij:
curl https://ipecho.net/plain | mail -s IP mail@example.com
Levert netjes een mailtje op met daarin het publieke IP adres.
Sinds de 2 dagen regel reageer ik hier niet meer
Ik kan gewoon mailtjes versturen met subject en body etc, komen prima aan. Geen probleem.CurlyMo schreef op vrijdag 14 december 2018 @ 20:00:
Je vraag is dus niet hoe je console output moet mailen, maar hoe je een mail client op je linux bak zet. Als je dat nu eens eerst opzoekt: Configuring ssmtp on CentOS.
Wat me niet lukt is om een simpel regeltje met een ip adres door te mailen...
Welk commando gebruik je daarvoor?EverLast2002 schreef op vrijdag 14 december 2018 @ 20:05:
[...]
Ik kan gewoon mailtjes versturen met subject en body etc, komen prima aan. Geen probleem.
Wat me niet lukt is om een simpel regeltje met een ip adres door te mailen...
Sinds de 2 dagen regel reageer ik hier niet meer
Dit werkt:
printf "Subject: Test\n\nTesting...1...2...3" | ssmtp mail@example.com
Dit werkt niet:
curl https://ipecho.net/plain ; echo | ssmtp mail@example.com
wget https://ipecho.net/plain -O - -q | ssmtp mail@example.com
En je wget commando werkt wel zonder je pipe? Die curl is inderdaad niet zoals het hoort (voor dit doel) en dat gaat dus zo ook niet werken.EverLast2002 schreef op vrijdag 14 december 2018 @ 20:19:
[...]
Dit werkt:
code:
1 printf "Subject: Test\n\nTesting...1...2...3" | ssmtp mail@example.com
Dit werkt niet:
code:
1 2 curl https://ipecho.net/plain ; echo | ssmtp mail@example.com wget https://ipecho.net/plain -O - -q | ssmtp mail@example.com
[ Voor 4% gewijzigd door CurlyMo op 14-12-2018 20:39 ]
Sinds de 2 dagen regel reageer ik hier niet meer
makkelijker is om mailx te installeren. alternatief kun je een header erbij voegen:
https://ubuntuforums.org/showthread.php?t=743404
edit:
niks mis met het curl command hoorCurlyMo schreef op vrijdag 14 december 2018 @ 20:29:
[...]
En je wget commando werkt wel zonder je pipe? Die curl is inderdaad niet zoals het hoort en dat gaat zo ook niet werken.
[ Voor 36% gewijzigd door Jimbolino op 14-12-2018 20:31 ]
The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall
Losstaand niet nee, maar wel in dit doel. De output van curl gaat nu niet naar stdout zoals dat bij wget in dit geval wel gebeurt.Jimbolino schreef op vrijdag 14 december 2018 @ 20:30:
niks mis met het curl command hoor
Sinds de 2 dagen regel reageer ik hier niet meer
oja je hebt gelijk, de pipe werkt alleen maar op het laatste command:CurlyMo schreef op vrijdag 14 december 2018 @ 20:32:
[...]
Losstaand niet nee, maar wel in dit doel. De output van curl gaat nu niet naar stdout zoals dat bij wget in dit geval wel gebeurt.
1
| (curl https://ipecho.net/plain ; echo ; echo ) | mail -s IP mail@example.com |
The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| #!/bin/sh
function checkStatus {
expect=250
if [ $# -eq 3 ] ; then
expect="${3}"
fi
if [ $1 -ne $expect ] ; then
echo "Error: ${2}"
exit
fi
}
MyHost=`hostname`
read -p "Enter your mail host: " MailHost
MailPort=25
read -p "From: " FromAddr
read -p "To: " ToAddr
read -p "Subject: " Subject
read -p "Message: " Message
exec 3<>/dev/tcp/${MailHost}/${MailPort}
read -u 3 sts line
checkStatus "${sts}" "${line}" 220
echo "HELO ${MyHost}" >&3
read -u 3 sts line
checkStatus "$sts" "$line"
echo "MAIL FROM: ${FromAddr}" >&3
read -u 3 sts line
checkStatus "$sts" "$line"
echo "RCPT TO: ${ToAddr}" >&3
read -u 3 sts line
checkStatus "$sts" "$line"
echo "DATA" >&3
read -u 3 sts line
checkStatus "$sts" "$line" 354
echo "Subject: ${Subject}" >&3
echo "${Message}" >&3
echo "." >&3
read -u 3 sts line
checkStatus "$sts" "$line" |
Bron: https://stackoverflow.com...s-by-bash-script-via-smtp
No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.
@EverLast2002, weet je ook dat je meerdere berichten in 1 kan plaatsen? Dubbelposten is niet echt gewenst hier. Je kan altijd je laatste bericht aanpassen als je de laatste bent die gereageerd heeft.
Verders heb je niet echt nagedacht over wat je probleem nou werkelijk is. Je wilt een mail sturen zonder mail client, dat maakt het alleen maar lastiger voor jezelf. Mailx bevat het mail commando en die gebruikt wat voor MTA (zeg maar mailserver) er op je systeem staat.
Commandline FTW
Kijk, nu heb ik het werkend!Jimbolino schreef op vrijdag 14 december 2018 @ 20:44:
[...]
oja je hebt gelijk, de pipe werkt alleen maar op het laatste command:
code:
1 (curl https://ipecho.net/plain ; echo ; echo ) | mail -s IP mail@example.com
Die regel die je opgaf door curl tussen haakjes te zetten deed de truc.
Ik heb wel het commando iets aangepast:
(curl https://ipecho.net/plain ; echo) | ssmtp mail@example.com
Iedereen bedankt voor het meedenken
Maar snap je het nu ook?EverLast2002 schreef op zaterdag 15 december 2018 @ 13:31:
[...]
Iedereen bedankt voor het meedenken
Sinds de 2 dagen regel reageer ik hier niet meer
Ik vermoed dat wat nu tussen haakjes () staat in 1 commando wordt uitgevoerd en daarna wordt doorgestuurd (pipe) naar het mailadres.
- edit: wat me nu niet meer lukt is om een Subject toe te voegen......kan ik mee leven, maar toch jammer.
1
| curl https://ipecho.net/plain | ssmtp mail@example.com |
De `echo` is niet nodig.
Mocht dit een cronjob zijn dan kan je het nog makkelijker maken.
1
2
| MAILTO=mail@example.com 0 8 * * * /usr/bin/curl https://ipecho.net/plain |
Edit:
https://linux.die.net/man/8/ssmtp
Het is volgens de handleiding niet mogelijk een subject toe te voegen.
[ Voor 16% gewijzigd door Keuvie op 15-12-2018 15:34 ]
Het weglaten van de haakjes () resulteert (bij mij) in een leeg mailtje.Keuvie schreef op zaterdag 15 december 2018 @ 15:32:
Je kan het command ook versimpelen naar:
code:
1 curl https://ipecho.net/plain | ssmtp mail@example.com
De `echo` is niet nodig.
Mocht dit een cronjob zijn dan kan je het nog makkelijker maken.
code:
1 2 MAILTO=mail@example.com 0 8 * * * /usr/bin/curl https://ipecho.net/plain
Het lijkt me handiger om zoiets te gebruiken, met subjectregel:
1
2
3
| ip=$(curl https://ipecho.net/plain); \ echo -e "To: mijzelf\nSubject: Mijn IP adres\nMijn IP adres is momenteel $ip." | \ ssmtp mail@example.com |
„Ik kan ook ICT, want heel moeilijk is dit niet”
Helemaal zoals ik hem wilde hebben!!aawe mwan schreef op zaterdag 15 december 2018 @ 16:01:
Zo te zien is de echo weldegelijk nodig, omdat de output van curl zelf geen enkel regeleinde heeft en daardoor de tekst van het mailtje leeg zal blijven.
Het lijkt me handiger om zoiets te gebruiken, met subjectregel:
code:
1 2 3 ip=$(curl https://ipecho.net/plain); \ echo -e "To: mijzelf\nSubject: Mijn IP adres\nMijn IP adres is momenteel $ip." | \ ssmtp mail@example.com