pocztę wyślij kod:PHPMailer uwierzytelniania serwera wymiany
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = 192.168.205.19;
$mail->Port = 25;
$mail->SMTPDebug = 2;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mypassword";
$mail->From = "[email protected]";
$mail->FromName = "My Mail Address";
$mail->SetFrom("[email protected]", "My Mail Address");
$mail->AddAddress('[email protected]');
$mail->Subject = "Test for subject";
$mail->MsgHTML("Test my mail body");
if ($mail->Send()) {
$result = 1;
} else {
$result = "Error: " . $mail->ErrorInfo;
}
} catch (phpmailerException $e) {
$result = $e->errorMessage();
} catch (Exception $e) {
$result = $e->getMessage();
}
return $result;
Rezultat?
SMTP -> FROM SERVER:220 evo.callpex.int Microsoft ESMTP MAIL Service ready at Tue, 27 Nov 2012 17:45:24 +0200
SMTP -> ERROR: Password not accepted from server: 535 5.7.3 Authentication unsuccessful
Używam klasy PHPMailer do wysyłania poczty. I SMTP. Łączę się z serwerem Exchange Mail. Ale mam ten błąd.
Dlaczego?
Dzięki!
Czy zweryfikowałeś, że 1. Twoja nazwa użytkownika i hasło są poprawne, 2. czy działają przez coś innego, jak klient pocztowy, 3. Czy twój serwer ma dostęp do serwera Exchange w celu dostarczenia wychodzącego? – Sammitch
W oparciu o błąd może to nie być problem, ale warto go sprawdzić. Potwierdź, że dostęp SMTP jest włączony na serwerze Exchange dla użytkownika, z którym próbujesz się połączyć. Exchange może lub nie może używać pewnych typów szyfrowania do uwierzytelniania, więc do połączenia mogą być wymagane specjalne flagi. Na przykład podczas łączenia się z serwerem Exchange za pośrednictwem protokołu IMAP nie jest niczym niezwykłym, aby w połączeniu były używane '/ novalidate-cert' i'/tls'. Nie jestem pewien, jak by to zrobić w PHPMailer. – Chad