2013-07-07 4 views
0

PHP를 통해 내 localserver에서 메일을 보내는 데 문제가 있습니다. easyPHP를 사용하여 localserver를 실행 중입니다. 기본적으로 로컬 서버에서 테스트하고 내 웹 사이트에이 양식을 사용하려고합니다. SMTP 서버 응답 : 530 5.7.0 먼저 STARTTLS 명령을 실행해야합니다PHP와 관련된 문제

<?php 
    $error = false; 
    $sent = false; 

    if(isset($_POST['submit'])) { 
     if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['comments'])) { 
      $error = true; 
     } 
     else { 

      $to = "[email protected]"; 

      $name = trim($_POST['name']); 
      $email = trim($_POST['email']); 
      $comments = trim($_POST['comments']); 

      $subject = "Contact Form"; 

      $message = "Name: $name \r\n Email: $email \r\n Comments: $comments"; 
      $headers = "From:" . $name; 

      $mailsent = mail($to, $subject, $message, $headers); 

      if($mailsent) { 
       $sent = true; 
      } 
     } 
    } 
?> 

<?php if($error == true){ ?> 
<p class="error">Text</p> 
<?php } if($sent == true) { ?> 
<p class="sent">Text</p> 
<?php } ?> 
<div id="form"> 
    <form name="contact" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
     <fieldset> 
      <h4>Contact Me!</h4> 
      <label for="name">Name:</label> 
       <input type="text" name="name" id="name"/> 
       <label for="email"/>Email:</label> 
       <input type="text" name="email" id="email"/> 
       <label for="comments" id="comments">Comments:</label> 
       <textarea name="comments" id=""></textarea> 
       <fieldset> 
       <input class="btn" type="submit" name="submit" class="submit" value="Send email"/> 
       <input class="btn" type="reset" value="Reset"/>    
       </fieldset> 
     </fieldset> 
    </form> 
</div> 

나는 아직도 내가 오류 메일()를 얻을, php.ini의

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = smtp.gmail.com 
; http://php.net/smtp-port 
smtp_port = 587 

의 설정을 변경하지만했다. dg3sm18559983pbc.24 - gsmtp

+2

많은 [소식]가있다 (http://stackoverflow.com/questions/712392/send-email-using-gmail-smtp-server-from-php-page)에이 문제에 대한 SO .. – dbf

+1

'많은'은 과소 평가라고 생각합니다. – GolezTrol

답변

0

dskanth의 솔루션이 저에게 효과적이었습니다. SwiftMailer는 잘 작동합니다.

<?php 
require_once 'swift/lib/swift_required.php'; 

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") 
    ->setUsername('GMAIL_USERNAME') 
    ->setPassword('GMAIL_PASSWORD'); 

$mailer = Swift_Mailer::newInstance($transport); 

$message = Swift_Message::newInstance('Test Subject') 
    ->setFrom(array('[email protected]' => 'ABC')) 
    ->setTo(array('[email protected]')) 
    ->setBody('This is a test mail.'); 

$result = $mailer->send($message); 
?>