Eu tenho o mesmo problema. Seu script diz a metade da solução .. Verifique seus logs de erros do Apache, não os do msmtp, se eles existirem .. :) Meu arquivo de log disse:
"msmtp: /etc/msmtprc: must be owned by you"
O que estava correto, na verdade, meu arquivo de configuração msmtp em / etc / msmtp não era de propriedade de http.
Meu arquivo php.ini é assim:
sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -t"
Espero que isso ajude.