Sending e-mail from linux terminal

So while finalizing the apk-generator for my GSoC project, I faced a roadblock in sending the generated App to the organizer. Normally the build takes around 10–12 minutes, so asking the user to wait for that long on the website and then providing him/her with a download link did not feel like a good option. (amirite?) So I and Manan Wason thought of a different approach to this problem, which was to email the generated app to the organzier. For doing this, we used 2 handy tools MSMTP and Mutt. We can use MSMTP to send email but unfortunately we cannot include attachments, so we used Mutt to help us send email with attachments from the command line. So hang tight and follow the rest of the guide to start sending emails from your terminal and get yourself some developer #swag Step 1 : Installation Use the following commands to install MSMTP and Mutt sudo apt-get -y install msmtp sudo apt-get -y install ca-certificates sudo apt-get -y install mutt We need to have a file that contains Certificate Authority (CA) certificates so that we can connect using SSL / TLS to the email server. Step 2 : Configuring MSMTP Now we’ll MSMTP configuration on /etc/msmtprc with the content below. NOTE : You will have to enter your username and password on this file so make sure to make this file private. Lets first open this file nano /etc/msmtprc Next, add following text to the file, account default tls on tls_starttls off tls_certcheck off auth on host smtp.mail.yahoo.com (change this to smtp.gmail.com for gmail) user username password password from username@yahoo.com logfile /var/log/msmtp.log NOTE : Refrain from using gmail as they might terminate your account for sending email via MSMTP. For configuring mutt, we’ll use a similar command to edit the file located at /root/.muttrc nano /root/.muttrc Add following text to it which specifies the MSMTP account to use for sending email set sendmail=”/usr/bin/msmtp” set use_from=yes set realname=”MY Real Name” set from=username@yahoo.com set envelope_from=yes That’s it! Now lets get ready for the fun part, SENDING THOSE EMAILS :D Step 3 : Sending Now, there are 2 cases that might arise while sending the email, 1 : Sending without attachment This is pretty straightforward and can be done with either MSMTP or Mutt. Using MSMTP printf “To: recipient@domain.comnFrom: username@domain.comnSubject: Testing MSMTPnnHello there. This is email test from MSMTP.” | msmtp recipient@domain.com Entering the following code will send the email to the recipient and also display the sent email in the terminal. Using Mutt mutt -s “Testing Mutt” — recipient@domain.com < /path/to/body.txt NOTE : ‘body.txt’ is the file whose contents will be used in the body of the email that will be sent to ‘recipient@domain.com’. 2 : Sending WITH an attachment Unlike the previous case, this can be done ONLY using Mutt and the code used is mutt -a /path/to/attachment.txt -s “Testing Mutt — recipient@domain.com < /path/to/body.txt The syntax is similar to the above case where we sent the email without attachments. So well, that it then! If you followed the instructions carefully, you will have a…

Continue ReadingSending e-mail from linux terminal