I have encountered a similar issue with cron. I could not find the reason in any post only and ended finding my answers in the source code of cron and msmtp.
If the sending application included a from header in the email this will take precedence and Msmtp will not overwrite this. you will need to find a way to change the from header in PHP -----Original Message----- >From: Lorinczy Zsigmond <lzs...@mail.ahiv.hu> >Sent: Sep 12, 2017 7:27 AM >To: msmtp-users@lists.sourceforge.net >Subject: [msmtp-users] msmtp with PHP!mail -- problem with --from and >--read-envelope-from > >Hi, > >I'd like to report a problem / suggest an impovement regarding PHP!mail >and msmtp. > >I wished to use mstmp with PHP so I added it into /etc/php.ini: > >| sendmail_path = "/usr/local/bin/msmtp -t" > >and tried this script > >| mail ($to, $subject, $message, 'From: lzsiga@host'); > >Well it didn't work, it missed the 'From' header: > >| msmtp.bin: account default from /usr/local/etc/msmtprc: envelope-from >address is missing > >So I added option '--read-envelope-from': > >| sendmail_path = "/usr/local/bin/msmtp.bin --read-envelope-from -t" > >Then my script did work, but some other user/project (kanboard, to be >precise) >used another way to specify the 'From:' header > >| mail ($to, $subject, $message, '', '--from lzsiga@host'); > >Now it resulted in this: > >| /usr/local/bin/msmtp.bin --read-envelope-from -t --from lzsiga@host > >Which lead to this error message: > >| msmtp.bin: cannot use both --from and --read-envelope-from > >Then I hacked a very ugly workaround: > >| #!/bin/sh >| HasFrom= >| for Arg in "$@"; do >| if [ "$Arg" = "--" ]; then >| break; >| fi >| if [ "$Arg" = "--from" ]; then >| HasFrom=1; >| break; >| fi >| done >| if [ -z "$HasFrom" ]; then >| exec /usr/local/bin/msmtp.bin --read-envelope-from "$@" >| else >| exec /usr/local/bin/msmtp.bin "$@" >| fi > >Well, I don't think it is a solution; >what I'd would to suggest is something like this: > >If option '--from' is given, it's value is used as 'Envelope-From' >Otherwise if there is a 'From:' line in the header, that value is used >Otherwise a default 'From' is created based on the configuration files > >If you think this makes sense, I'd be happy to work in this improvement. > >Yours: Lőrinczy Zsigmond (user 'lzsiga' in 'souceforge.net') > > >------------------------------------------------------------------------------ >Check out the vibrant tech community on one of the world's most >engaging tech sites, Slashdot.org! http://sdm.link/slashdot >_______________________________________________ >msmtp-users mailing list >msmtp-users@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/msmtp-users ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ msmtp-users mailing list msmtp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/msmtp-users