Gmail SMTP始终在接待处显示为我的个人电子邮件地址

I' am trying to send mail using Gmail SMTP. The code works fine. The problem is the from reception it always shows my personal email address I want to show no-reply@domain.com

What seems to be missing?

 <?php
        require_once "Mail.php";
        $from = "No-Reply<no-reply@domain.com>";
        $to = "Test Reception <reception@gmail.com>";
        $subject = "Hi!";
        $body = "Hi,

How are you?";
        $host = "ssl://smtp.gmail.com";
        $port = "465";
        $username = "example@gmail.com";
        $password = "password";

        $headers = array (
            'From' => $from,
            'To' => $to,
            'Subject' => $subject);
            $smtp = Mail::factory('smtp',
            array (
                'host' => $host,
                'port' => $port,
                'auth' => true,
                'username' => $username,
                'password' => $password)
        );
        $mail = $smtp->send($to, $headers, $body);
        if (PEAR::isError($mail)) {
            echo("<p>" . $mail->getMessage() . "</p>");
        } else {
            echo("<p>Message successfully sent!</p>");
        }
    ?>

I assume because GMail knows who you are (because you logged in) and doesn't allow you to spoof the sender.