I need a small smtp client so I could send emails from my Drupal development machine. By using the package msmtp-mta this can be achieved. Firstly install the software, in this example Ubuntu will be used but from what I can see all Unix flavours have this package
~$ sudo apt-get install msmtp-mta
After it is installed then configuration is needed this can be by creating a file called msmtprc and adding some configuration.
After installing it we need to create a configuration file for it. Create a new file by opening vim or nano in the terminal
~$ sudo vim /etc/msmtprc
Then add the configuration you need to access your email smtp server. In this example we will use the Google smtp servers.
# This is the default service you can add others if you like defaults tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt # Email account that needs access credentials account default host smtp.gmail.com port 587 auth on user emailUserName@gmail.com password emailAccountPassword from emailUserName@gmail.com
These need to be your Google login details. Now that it is complete you need to see the file permissions so that other software packages can access it
~$ sudo chmod 0644 /etc/msmtprc
Test to see if msmtp-mta works
~$ echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=default -t emailUserName@gmail.com
Adding msmtp-mta to php
If it is now working you will receive an email. What we need to achieve now is getting the php engine to see the login details and execute smtp client. First we need to find where msmtp-mta is
~$ which msmtp
remember the path because we need to tell the php engine now open php configuration file
# This is ubuntu but your path could be different ~$ sudo vim /etc/php5/apache2/php.ini
In the file you need to find the line that says sendmail_path and then add where the smtp client is, which for Ubuntu is
sendmail_path = '/usr/bin/msmtp -t'
Now restart apache or your web server to start the php engine
~$ sudo service apache2 restart