Jump to content

Send mail Raspberry Pi (sSMTP)


pieterjandc
 Share

Go to solution Solved by kicken,

Recommended Posts

Hi,

 

I'm trying to send a mail from a Webpage (PHP), running on a Raspberry Pi (Apache2, PHP5).

The Raspberry Pi is behind a Router from my ISP (Telenet) and they block the SMTP-port(25).

But I successfully installed sSMTP with all needed configuration, and I'm able to send emails through the mailhub of my ISP (what off course is what they rather like).

sudo nano /etc/ssmtp/ssmtp.conf

Contains:

root=pieterjan@pieterjan.pro
mailhub=smtp.telenet.be:587
rewriteDomain=pieterjan.pro
hostname=pieterjan.pro
UseTLS=YES
UseSTARTTLS=Yes
AuthUser=my_account@telenet.be
AuthPass=my_password
AuthMethod=LOGIN
FromLineOverride=YES

And my Reverse-aliases-file:

sudo nano /etc/ssmtp/revaliases

Contains:

root:my_account@telenet.be:smtp.telenet.be:587
pi:my_account@telenet.be:smtp.telenet.be:587

With this configuration I'm able to send an e-mail using this bash-command:

echo "Email body" | mail -s "Test Subject" some-email@address.com

Next step:

I've tried to change the configuration of PHP5 to use the PHP mail() command:

sudo nano /etc/php5/apache2/php.ini

Contains:

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = pi@pieterjan.pro

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i -f pi@pieterjan.pro

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by t$
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

I've already tried about everything. I think sendmail should only be used in WAMP and therefore is not applicable. Some say sendmail is automatically linked to ssmtp. But I actually already tried loads of configurations:

sendmail_path = /usr/sbin/sendmail -t
sendmail_path = /usr/sbin/sendmail -t -i
sendmail_path = /usr/sbin/sendmail -t -i -f pi@pieterjan.pro
sendmail_path = /usr/sbin/ssmtp -t
sendmail_path = /usr/sbin/ssmtp -t -i

PHP-code:

<?php
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors',1);

    $res = mail("pieterjandeclippel@msn.com", "Subject", "Hello!");

    echo '<hr>Result was: ' . ( $res === FALSE ? 'FALSE' : 'TRUE') . $res;
    echo '<hr>';
    phpinfo();
?>

This script is hosted here.

But nothing actually seems to work, and I'm getting this error:

cat /var/log/mail.log

Last error from the log-file:

Jan  8 20:53:38 pieterjan sSMTP[9209]: Creating SSL connection to host
Jan  8 20:53:38 pieterjan sSMTP[9209]: SSL connection using DHE_RSA_AES_128_CBC_SHA1
Jan  8 20:53:38 pieterjan sSMTP[9209]: 550 5.1.0 <www-data@pieterjan.pro> is not an alias of my_account@telenet.be

Extra information (entire procedure) : Website

What is the problem and how can I fix this?

Link to comment
Share on other sites

I have mail sending out of my Raspberry Pi using SSMTP, but going through my gmail account. It was super easy:

root=$smail
Debug=yes
mailhub=smtp.gmail.com:587
hostname=irrigation
AuthUser=example@gmail.com
AuthPass=Pas$weRd123
UseTLS=yes
useSTARTTLS=YES
RewriteDomain=gmail.com

I didn't do anything else, and it just works. So if you can set up a gmail account, your good. Well, I did have to tell google to trust my insecure app, but that's it.

Link to comment
Share on other sites

Haha nice. It works perfectly now.

You are a genius.

Final configuration

sudo nano /etc/ssmtp/revaliases

Now contains:

root:my_account@telenet.be:smtp.telenet.be:587
pi:my_account@telenet.be:smtp.telenet.be:587
www-data:my_account@telenet.be:smtp.telenet.be:587

Result of mail() is actually '1' now as well.

 

Thanks for the help. I really appreciate.

Only 1 question left:

Would it be possible to change the configuration so that the mail doesn't appear to be coming from www-data@pieterjan.pro ?

 

 

Link to comment
Share on other sites

This thread is more than a year old.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.