SMTP 인증 이메일을 보내려면 배 메일 확장자를 사용하고 싶습니다. 웹에서 많은 예제가 있습니다 ...이 내 코드입니다 :이 샘플의 오류 사례를 테스트하고 싶었 유효하지 않은 무언가에 SMTP 사용자를 변경하고, 그래서 스크립트는 잘 작동배 메일은 잘못된 smtp 사용자와 함께 메일을 보냅니다.
<?php
require_once "Mail.php";
$body = "Testtext";
$subject = "SMTP Testmail";
$mail_to = "[email protected]";
$mail_from = "[email protected]";
//SMTP Verbindungsdaten
$host = "valid.smtp.com";
$username = "[email protected]";
$password = "validpasswordforotheruser";
$smtp = Mail::factory('smtp',
array (
'host' => $host,
//'auth' => true,
'auth' => true,
'username' => $username,
'password' => $password
));
$headers = array (
'From' => $mail_from,
'To' => $mail_to,
'Subject' => $subject
);
$mail = $smtp->send($mail_to, $headers, $body);
if (PEAR::isError($mail)) {
echo "Error during sending E-Mail : ". $mail->getMessage();
}
?>
그 창문이 작동 했어. 나는 내 우편물을 가지고있다.
어떻게 될 수 있습니까?
인사말
이 편집 : 내가 지금 다른 테스트를 수행하고 유효하지 않은 뭔가 SMTP 서버를 변경 ... 문서는 "PEAR_MAIL_SMTP_ERROR_CONNECT"오류 ... 내가지고있어이 있어야한다는 말 다음 출력 : "fsockopen() [function.fsockopen] : 연결할 수 없습니다 xx.xx.xx.xxx:25 (연결이 거부되었습니다) /usr/local/lib/php/Net/Socket.php on line 108 "
"Catchable fatal error : PEAR_Error 클래스의 객체를 222 행의 /usr/local/lib/php/Net/SMTP.php에있는 문자열로 변환 할 수 없습니다 "
이 IP는 smtp 이름이 유효하지 않을 때 어디에서 오는가? 서버가 모든 구성에 의해 과당 될 수 있습니까?
서버는 웹 호스팅 업체에서 제공하는 것으로 알고 있습니다 ... 익명 액세스가 가능할 수도 있습니다 (그러나 나는 놀랐습니다). 어쨌든 ... PHP 메일이나 폴백 메일을 대체 메일로 사용하는 배 메일에는 마법적인 대체 수단이 없습니다. 오류 케이스를 테스트 할 수있는 아이디어가 있습니까? (나는 "send"에서 오류를 얻고 싶다) –
아무것도하지 않고 오류로 응답하는 가짜 smtp 서버를 시작하는 것이 가장 좋은 방법이다. – ThiefMaster
지금은 작동하는 것 같습니다 ... 답변 해 주셔서 감사합니다! –