2014-02-23 4 views
1

Gmail SMTP를 사용하여 메일을 보내려고합니다. 코드가 제대로 작동합니다. 문제는 리셉션에서 항상 내 개인 이메일 주소를 표시하는 것입니다. [email protected]을 표시하고 싶습니다.Gmail SMTP가 항상 개인 이메일 주소로 수신 상태에서 표시됩니다.

누락 된 부분이 있으면 어떻게됩니까?

<?php 
     require_once "Mail.php"; 
     $from = "No-Reply<[email protected]>"; 
     $to = "Test Reception <[email protected]>"; 
     $subject = "Hi!"; 
     $body = "Hi,\n\nHow are you?"; 
     $host = "ssl://smtp.gmail.com"; 
     $port = "465"; 
     $username = "[email protected]"; 
     $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>"); 
     } 
    ?> 

답변

4

Gmail은 내가 로그인했기 때문에 누구인지 알고 발신자를 스푸핑 할 수 없기 때문에 추측합니다.

+1

이것은 바로 it, gmail 및 기타 여러 서비스입니다. 주소를 스푸핑하지 마십시오. 원하는 이름으로 이름을 설정할 수 있지만 from은 항상 재설정됩니다. Gmail에 다른 계정에서 보내기를 설정하면 추가 된 계정 중 하나에 주소를 변경할 수있는 방법이 있습니다. 더 간단한 방법은 무료 계층이있는 http://sendgrid.com/과 같은 타사 공급자를 사용하는 것입니다. –

관련 문제