Hi,
I’m looking for some way to send my own alerts via e-mail in some way. Whenever I try to search for this, most docker images have a much grander goal, and I have a hard time understanding how to use them for my purpose.
What would I want? It’d be nice to have a docker running some smpt-server (I suppose), so that I can make my own python script that scrapes a website, looks at some metric, and e-mails me whenever whatever I’m looking for is found. I only want it to be available on and to receive mails from localhost, no dns, just forward e-mails to my personal one, no web-interface, etc.
I’m quite new to self-hosting, but I hope you still understand what I’m looking for. Is it possible? Should I look for another solution? Will this not work? Any help/input very much welcome.
You don’t need an SMTP server if you just want to send mail out outbound. Just use mailx.
This is the way, @mumblefish. I use
mail
frommailutils
:mail "$recipient" \ -r "$emailFrom" \ -s "$emailSubject" \ < "$filename"
where
$filename
is a file containing the body content of the email.I wanted to try this first, I can see lemmy parsed a less-than into “<”, which I replaced. But I’m getting no e-mails to the $recipient address. I set $emailFrom to a completely fake one, and another time as my personal, same as $recipient, address, but I’m not receiving any e-mails.
It’s definitely going to go to spam since there’s no SPF record. You’ll need to manually whitelist that address on the receiving end.
Cannot find it in my spam-folder either, and with the mailutils
mail
I set also set the-r $emailFrom
to something that is whitelisted in my spamfilter. But maybe my mail-service provider has some other block. Could that be? Or that it looks very fishy with an e-mail with only from, to, and subject headers non-empty?You’ve initially said you wanted to receive it locally only. Now you’re pulling external email providers into the mix. You need to set up spf and dmarc for that at the minimum. I can help you with it, but it’s nowhere near as simple as just emailing a local user.
Sorry, I must not have explained myself very well. I guess it is the part on receiving on localhost. What I meant to say was that I would like the smtp, or whatever, to only be available on localhost, so that no one else on the network can use the service to send e-mails.
Postfix can be configured to only listen on localhost. Most things can be, actually.
You definitely don’t need dmarc for that. Don’t even need dkim, really.
You are technically correct.
I tried a:
echo "something" | mailx -s "subject" [my_personal_email]
but I’m not receiving anything… hmm
Check out ntify, it might fit your use case
For a second I thought I had made the perfect solution for this, but then I realized my problem was the opposite. I was looking for a way to receive notifications from systems that can only send emails. So I quickly made the Mail2Gotify service and have been using it for the past while.
I’ll post it here anyway in case you want to switch from emails to Gotify in the future!