Running an Email Server
- Mail Transport/Transfer Agents (MTAs) - send messages between servers (required)
- Mail Delivery Agents (MDAs) - store messages in the recipient's mailbox (required)
- Mail User Agents (MUA) - software for reading messages
You need a domain name and appropriate MX records in your DNS.
- Linux: Email Services
- Linux System Engineer: Mail Systems Using Postfix
- Linux Foundation Cert Prep: Email Services (Ubuntu)
POP, IMAP and Exchange
POP works by contacting your email service and downloading all of your new messages from it. Once they are downloaded onto your PC or Mac, they are deleted from the email service.
IMAP allows you to access your email wherever you are, from any device. When you read an email message using IMAP, you aren't actually downloading or storing it on your computer; instead, you're reading it from the email service. As a result, you can check your email from different devices, anywhere in the world: your phone, a computer, a friend's computer.
Exchange offers the same syncing capabilities as IMAP, plus much more. Exchange is a Microsoft product, giving you the ability to still use Outlook as your email service and benefit from Exchange functionality.
Configure Postfix to use Gmail as a Mail Relay
- https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/. Note one comment says to use App Passwords instead of the regular google account password.
- How to Set Up a Mail Agent for Command Line Email
How to Build an Email Server on Ubuntu Linux
- https://www.linux.com/learn/how-build-email-server-ubuntu-linux, Part 2 & Part 3
- How to Setup IRedMail Server on Ubuntu 18.04 LTS
- How to create a Mail server with SSL/TLS on Linux
- How To Secure Your Linux Email Services with SSL/TLS
- Email forwarding
- Mail forwarding using Sendmail
Send from google emails on Ubuntu
- How to configure Postfix to use Gmail SMTP on Ubuntu 16.04 / 17.10.
- Configure Postfix to use Gmail as a Mail Relay
- How to configure Postfix to use Gmail SMTP on Ubuntu 18.04 & 16.04
Change your google account to use less secure authentication. Otherwise it won't work and you will receive an email with a subject "Critical security alert" after you try to send out an email.
sudo apt install mailutils sudo nano /etc/postfix/main.cf # no account information sudo nano /etc/postfix/sasl_passwd # contains account information cat /etc/ssl/certs/thawte_Primary_Root_CA.pem | sudo tee -a /etc/postfix/cacert.pem sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db sudo apt-get install --reinstall postfix sudo /etc/init.d/postfix restart sudo /etc/init.d/postfix reload echo "Test Email message body" | mail -s "Email test subject" [email protected] # works
We can actually send to other email accounts. For example, we can use mailR package to send emails in R
send.mail(from = "[email protected]", to = c("[email protected]"), replyTo = c("[email protected]"), subject = "Test", body = "test", smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "yourname", passwd = "XX", ssl = TRUE), authenticate = TRUE, send = TRUE)
How to Send an Email with a Different “From” Address in Outlook
How to Send an Email with a Different “From” Address in Outlook. How Email Providers Handle Messages Sent From a Different “From” Address? How Do Scammers Use Fake “From” Addresses?
Bash Script to Send a Mail When ...
Command line tools
- sudo apt-get install sendemail
sendEmail -f $USERNAME -s smtp.gmail.com:587 \ -xu $USERNAME -xp $PASSWORD -t $USERNAME \ -o tls=yes \ -u "Web page changed" \ -m "Visit it at $URL" sendEmail -f [email protected] -t [email protected] \ -s smtp.gmail.com:587 -xu [email protected] -xp YOURPASSWORD \ -o tls=yes \ -u "Hello from sendEmail" \ -m "How are you? I'm testing sendEmail from the command line."
Criptext: private email service