2013-09-05 4 views
1

내 랩톱에서 wamp 서버를 사용하여 메일을 보내려고했습니다. SMTP 서버는 온라인으로 제공됩니다. 여기에 보낼 내 PHP 코드 메일 :메일을 보낼 때 SMTP 오류가 발생했습니다.

경고 :

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = mail.vickey1192.co.in 
; http://php.net/smtp-port 
smtp_port = 26 

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

이 내가 점점 오전 오류입니다 : 나는이 같은 내 php.ini 파일을 설정

<?php 
     ini_set('SMTP', "mail.vickey1192.co.in"); 
     ini_set('smtp_port', 26); 
     ini_set('sendmail_from', "[email protected]"); 

     $to = "[email protected]"; 
     $subject = "Acknowledgement"; 
     $message = "Thank you for registering with us<br>"; 
     $from = "[email protected]"; 
     $headers = "From:" . $from; 

     mail($to,$subject,$message,$headers); 
     echo "Mail Sent."; 
?> 

: mail() [function.mail] : SMTP 서버 응답 : 550- 메일 클라이언트에서 SMTP 인증을 켜거나 메시지를 보내기 전에 550-IMAP/POP3 서버에 로그인하십시오. (vignesh-PC) 550- [115.118.170.201] :이 서버 550을 통해 인증없이 23328이 중계 할 수 없습니다. C : \ wamp \ www \ mailtofunc.php에 줄 12

나는 지금 무엇을해야합니까? 제발 도와주세요 ...

+0

는 http://stackoverflow.com/questions/13137558/sending-mail-from-localhost-using-php –

답변

2

인증에 문제가 있다고 생각합니다. 전자 메일을 보내려면 SMTP 사용자의 사용자 이름과 암호를 메일 기능에 추가해야합니다.

//Using built in mail method 
    $mail = new PHPMailer(); 
    $mail->Host = 'smtp.example.com' 
    $mail->SMTPAuth = true;  // turn on SMTP authentication 
    $mail->Username = '[email protected]'; // a valid email here 
    $mail->Password = 'replace_with_your_password'; 
    $mail->From = '[email protected]'; 
    $mail->AddReplyTo('[email protected]', 'Test'); 

    $mail->FromName = 'Test SMTP'; 
    $mail->AddAddress('[email protected]', '[email protected]'); 

    $mail->Subject = 'Test SMTP'; 
    $mail->Body = 'Hello World'; 

    $mail->Send(); 

PHP 배 메일 기능을 사용하는 것이 더 나을 것입니다. 사용법은 알고 계실 것입니다.

//Using PEAR's mail function 
<?php 
    include('Mail.php'); 

    /* mail setup recipients, subject etc */ 
    $recipients = "[email protected]"; 
    $headers["From"] = "[email protected]"; 
    $headers["To"] = "[email protected]"; 
    $headers["Subject"] = "Some Subject"; 
    $mailmsg = "Hello, This is a test."; 

    /* SMTP server name, port, user/passwd */ 
    $smtpinfo["host"] = "smtp.example.com"; 
    $smtpinfo["port"] = "25"; 
    $smtpinfo["auth"] = true; 
    $smtpinfo["username"] = "smtpusername"; 
    $smtpinfo["password"] = "smtpPassword"; 

    /* Create the mail object using the Mail::factory method */ 
    $mail_object =& Mail::factory("smtp", $smtpinfo); 

    /* Ok send mail */ 
    $mail_object->send($recipients, $headers, $mailmsg); 

?> 
+0

고마워 친구는 : 당신이 날 도와! 필자는 phpmailer 패키지를 사용하여 메시지를 보냈습니다. –

2

전자 메일을 받기 전에 메일 서버에 인증 (username + password)이 필요합니다. SMTP 연결 (SMTP AUTH 사용, TLS 사용)을 통해 제공하거나 POP before SMTP이라는 기술을 사용하여 처음으로 호스트에 로그인하고 '확인'하여 호스트의 허용 목록을 임시로 생성하도록 제안하는 것입니다. 나중에 잠시 동안 메일을 보낼 수 있습니다.

관련 문제