PHPMailer Ändern der Absender-name

Ich habe Probleme bei der Einstellung der name, der geschickt mit mailings gesendet mit der PHPMailer Klasse.

Ich geschrieben habe die folgende Funktion, so dass es kann verwendet werden, in ähnlicher Weise wie die der php-bulit in mail() Funktion.

function pmail($to, $subject, $message, $headers = "", $attachments = "")
{
    date_default_timezone_set('Europe/London');

    require_once($_SERVER['DOCUMENT_ROOT']."/lib/inc/class.phpmailer.php");
    //include($_SERVER['DOCUMENT_ROOT']."/lib/inc/class.smtp.php"); //optional, gets called from within class.phpmailer.php if not already loaded

    $defaultEmail = "[email protected]";
    $defaultEmailName = "Web Mailer";

    $mail = new PHPMailer();

    $mail->IsSMTP();                                //telling the class to use SMTP
    $mail->Host       = "mail.example.com";         //SMTP server
    $mail->SMTPDebug  = false;                      //enables SMTP debug information (for testing, 1 = errors and messages, 2 = messages only, false = off)
    $mail->SMTPAuth   = true;                       //enable SMTP authentication
    //$mail->SMTPSecure = "tls";                    //sets the prefix to the servier
    $mail->Host       = "mail.example.com";         //sets the SMTP server
    $mail->Port       = 25;                         //set the SMTP port for the GMAIL server
    $mail->Username   = "###";                      //SMTP account username
    $mail->Password   = "###";                      //SMTP account password
    $mail->SetFrom( ($headers['fromEmail'] != "" ? $headers['fromEmail'] : $defaultEmail), ($headers['fromName'] != "" ? $headers['fromName'] : $defaultEmailName) );
    $mail->AddReplyTo( ($headers['replyToEmail'] != "" ? $headers['replyToEmail'] : $defaultEmail), ($headers['replyToName'] != "" ? $headers['replyToName'] : $defaultEmailName) );
    $mail->AddAddress($to);
    $mail->Subject = $subject;
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //optional, comment out and test
    $mail->MsgHTML($message);

    foreach($attachments as $attachment) {
        //$mail->AddAttachment("images/phpmailer.gif");      //attachment example
        $mail->AddAttachment($attachment);
    }

    if(!$mail->Send()) {
        //echo "Mailer Error: ".$mail->ErrorInfo;
        return false;
    } else {
        //echo "Message sent!";
        return true;
    }
}

Beim testen mit so etwas wie, so;

pmail("[email protected]", "test email", "test message here");

Alles funktioniert einwandfrei, die " von " - Adresse zeigt sich als [email protected] im Header, wie erwartet, jedoch ist der name, den ich sehe, in den Posteingang des Empfängers ist nicht Web Mailer seinen Standard-account im Zusammenhang mit der Benutzer, deren Anmeldeinformationen werden verwendet, um die E-Mail senden.
In den Headern, die vom Namen zeigen, nicht als Web-Mailer, aber seinen Posteingang, wo ich es sehen will

Können wir nicht einrichten, mehrere Benutzer-accounts auf unser system, uns zu erlauben, einfach eine neue mit den gewünschten Namen und E-Mail, deshalb haben wir es zu senden, über ein bestehendes Benutzer-Konto.
In diesem Fall meins, und E-Mails geschickt bekommen mit meinem Namen angebracht, aber wir wollen, dass der name zu zeigen, wie Web-Mailer.

Ist das überhaupt möglich?

InformationsquelleAutor Novocaine | 2013-01-07

Schreibe einen Kommentar