2010-08-14 10 views
2

J'utilise mstmp pour envoyer des messages depuis différents comptes SMTP. En utilisant la commande mail de PHP, il envoie successess mail de mstmp en utilisant le compte par défaut. Cependant, je veux qu'il me laisse spécifier le compte smtp à envoyer. En utilisant mstmp vous faites cela avec la commande suivante: msmtp --account = svh où svh est le compte smtp que vous nommez. Plus sur msmtp peut être trouvé ici: msmtp sourceforcePHP: Paramètres personnalisés pour la commande de courrier?

Alors quelles sont mes options, y at-il une commande mail modifiée qui me permettra d'utiliser msmtp en utilisant le paramètre --account? Dois-je juste lancer une commande shell avec le privilège root (ne veux pas faire ça).

Comment aborderiez-vous cela?

Répondre

2

On dirait que msmtp a un moyen de définir une config pour qu'elle soit système, alors www-data peut réellement exécuter la commande et avoir les emails dont j'ai besoin. L'amour msmtp. Edit: Voici ma fonction rapide et sale pour faire ce que je voulais, au cas où quelqu'un en aurait besoin plus tard. Je vous suggère fortement de faire plus de vérification d'erreurs.

function msmtp($To, $Subject, $Body, $Headers, $Account) { 
    $Email = "To: $To\nSubject: $Subject\n$Headers\n\n$Body\n"; 
    exec("echo '$Email' | msmtp --account=$Account $To"); 
} 

Il est très similaire à la fonction PHP mail() pour vous envoyer un email stevejobs à Bill Gates comme suit, en utilisant le compte msmtp "pomme":

msmtp (» billgates @ microsoft .com " "Hey , s'il vous plaît lire ceci", "Tu es trop riche, donnez-moi tout votre argent", "De: [email protected]"," pomme «)

+0

I dois admettre, je viens de fonder MSMTP et je l'avais configuré pour fonctionner sur mon installation Debian locale. En moins de 5 minutes, j'envoyais le PHP sendmail_path et je suis configuré pour utiliser mon info gmail. – frustratedtech