Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mal.php mit Authentifizierter Anmeldung an einen SBS2008

Frage Microsoft Exchange Server

Mitglied: Pate661

Pate661 (Level 1) - Jetzt verbinden

09.07.2013, aktualisiert 18:44 Uhr, 1245 Aufrufe, 7 Kommentare

Hallo Community!

Ich stehe vor der Lösung eines Problems unserer Website, die ich mit Webdesignwissen leider nicht lösen kann. Zur Situation:

- Windows Webserver 2008 (hostet die Website in einem externen Rechenzentrum)
- Windows SBS2008 steht lokal in der Firma

Über ein mail.php script soll der Webserver nun über den SBS Mails versenden können. Hierzu hatte ich mir folgendes Test-Script überlegt:

01.
mail.php 
02.
<?php 
03.
 
04.
//$smtpServer = "remote.xxxxxx.de";  //Hierüber ist der SBS von außen erreichbar// 
05.
//$port = "25";   
06.
//$timeout = "30";   
07.
//$username = "DOMÄNE\Benutzer";   
08.
//$password = "Kennwort3";   
09.
//$localhost = "remote.xxxxxx.de"
10.
$info="<p>Test Mail</p>"
11.
sendmail("Test Mail Adresse",'Contact Us',$info); 
12.
function sendmail($emailid,$sub,$info
13.
14.
	include 'class.phpmailer.php'; 
15.
	$mail = new PHPMailer; 
16.
	 
17.
	$mail->IsSMTP();  // Set mailer to use SMTP 
18.
	 
19.
	$mail->Host = 'remote.xxxxxx.de';   
20.
	$mail->SMTPAuth = true;//  
21.
	$mail->Port = 25;  
22.
	$mail->Username = 'DOMÄNE\Benutzer';  
23.
	$mail->Password = "Kennwort";  
24.
	$mail->From = 'admin@xxxxxx.de';  
25.
	$mail->FromName = 'Admin'; 
26.
	$mail->AddAddress($emailid, 'User');  
27.
	$mail->AddReplyTo($emailid, 'User');  
28.
	$mail->Subject = $sub
29.
	$mail->IsHTML(true); 
30.
	$mail->Body    = $info
31.
	if($mail->Send())	 
32.
33.
	echo 'Mail Success'; 
34.
35.
	echo 'Mail error: '.$mail->ErrorInfo; 
36.
	return false; 
37.
38.
 
39.
?> 
40.
 
So weit so gut! Wenn ich das script nun aufrufe um zu testen, bekomme ich folgende Rückmeldung: SMTP Error: Could not authenticate. Mail error: SMTP Error: Could not authenticate.

Also ein Authentifizierungsfehler. Habe ich im Script was falsch bedacht oder muss ich am SBS Einstellungen prüfen? Mit Exchange Konfiguration kenne ich mich leider nur ein kleines bisschen aus.

Vielen Dank für die Hilfe!
Mitglied: bytecounter
09.07.2013, aktualisiert um 18:39 Uhr
Hallo,

also erstmal wäre es schön, wenn auch Du den Code formatieren könntest. Das würde es uns erheblich erleichtern.
Des Weiteren vermute ich mal, dass der Exchange an sich läuft und der SMTP-Port 25 auch offen ist und bereits - zumindest über andere Programme auch funktioniert?
Was sagt ein Testlogin mit z. B. Telnet?

vg
Bitte warten ..
Mitglied: Pate661
09.07.2013 um 18:49 Uhr
sorry, wegen des codes! Habe es korrigiert


Bzgl des smtp tests:

Test Result Hide
SMTP Reverse Banner Check OK - 217.XX.57.XX resolves to mail.XXXXXXXX.de

SMTP Reverse DNS Mismatch Warning - Reverse DNS does not match SMTP Banner Ignore
SMTP TLS OK - Supports TLS.
SMTP Connection Time 1.030 seconds - Good on Connection time
SMTP Open Relay OK - Not an open relay.
SMTP Transaction Time 8.658 seconds - Not good! on Transaction Time Ignore
Bitte warten ..
Mitglied: bytecounter
09.07.2013 um 19:58 Uhr
In Deinem Test hast Du anscheinend versucht, den Server als Mailrelay zu nutzen (Abensderadresse gehört nicht dem SBS). Das mag er nicht. Und das ist auch gut so. Bringt uns bei Deinem Fehler aber nicht weiter. Versuch doch mal, Dich per Telnet einzuloggen und poste das gesamte Ergebnis.

vg
Bitte warten ..
Mitglied: Pate661
09.07.2013 um 20:49 Uhr
Lt. Telnet ist der Port 25 offen:

220 server.server.de Microsoft ESMTP MAIL Service ready at ......
Bitte warten ..
Mitglied: flow.ryan
09.07.2013 um 23:13 Uhr
Halli Hallo,

Hast du einmal versucht dich mit dem Usernamen@Domain anzumelden? In der jetzigen Version würdest du ein Escape-Zeichen vor dem B von Benutzername machen. Sprich das B escapen. Wenn du das so nutzen willst, müsstest du zwei Backslashes nehmen. Ich würde dir allerdings die Kombination mit dem @ empfehlen.

Bitte teste das einmal.

Gruß Florian.
Bitte warten ..
Mitglied: Pate661
10.07.2013 um 07:56 Uhr
Hallo!

Danke für den Hinweis! Ich habe das direkt mal versucht, leider auch hier nicht der gewünschte Effekt. Die mail.php sieht nach der Änderung so aus:

01.
mail.php<?php 
02.
 
03.
<?php 
04.
 
05.
//$smtpServer = "remote.webadresse.de";   
06.
//$port = "25";   
07.
//$timeout = "30";   
08.
//$username = "Nutzername@DOMÄNE";   
09.
//$password = "Kennwort";   
10.
//$localhost = "SERVER.GRUPPENNAME.local"
11.
$info="<p>Test Mail</p>"
12.
sendmail("info@externe-mailadresse.de",'Contact Us',$info); 
13.
function sendmail($emailid,$sub,$info
14.
15.
	include 'class.phpmailer.php'
16.
	$mail = new PHPMailer; 
17.
	 
18.
	$mail->IsSMTP();  // Set mailer to use SMTP 
19.
	 
20.
	$mail->Host = 'remote.webadresse.de';  // Specify main and backup server. Should be in a config file 
21.
	$mail->SMTPAuth = true;// Enable SMTP authentication.Should be in a  
22.
	$mail->Port = 25;  
23.
	$mail->Username = 'Nutzername@DOMÄNE';//  
24.
	$mail->Password = "Kennwort";//  
25.
	$mail->From = 'email adresse'; //Should be in a config file 
26.
	$mail->FromName = 'Administrator'; //Should be in a config file 
27.
	$mail->AddAddress($emailid, 'User');  // Add a recipient     
28.
	$mail->AddReplyTo($emailid, 'User'); //Should be in a config file 
29.
	$mail->Subject = $sub
30.
	$mail->IsHTML(true); 
31.
	$mail->Body    = $info
32.
	if($mail->Send())	 
33.
34.
	echo 'Mail Success'
35.
36.
	echo 'Mail error: '.$mail->ErrorInfo; 
37.
	return false; 
38.
39.
 
40.
?> 
41.
 
Bzgl. der Angabe des localhost bin ich mit nicht sicher, ob ich hier die richtige Info eingegeben habe. Ich habe hier ebenfalls die smtp Serveradresse eingegeben, da diese der festen IP des Servers entspricht. Da von einem externen System auf den SBS zugegriffen wird, bringt die interne IP ja nix oder?

Ich habe mich auch mal in die Einstellungen des Exchange gewagt und mir dort einige Infos rausgezogen:

Unter dem Reiter Clientzuriff in der Verwaltungskonsole finde ich auf Ebene der Servereinstellungen unter Systemeinstellungen die Info:

Active Directory-Server: SERVER.GRUPENNAME.local

HUB-Transport:
Connectorstatus: Aktiviert
Die IP Adresse des Webservers ist in den Einstellungen Emails von Remoteservern mit folgender IP empfangen eingetragen.
Authentifizierung:
-TLS aktiv
-Standardauthentifizierung aktiv
- Standardauthentifizierung nur nach dem Starten von TLS anbieten aktiv (zack und hier ist das Problem!!!) habe das gerade mal kurz deaktiviert und gemerkt, jetzt klappt es!

Lasse mein geschriebenes jetzt trotzdem mal so stehen, damit man meinen Lösungsweg nachvollziehen kann.

Jetzt zu meinem neuen Problem :

Wie kann ich meinem .php script denn jetzt beibringen sich vorher per TLS am Exchange anzukündigen? Mit Sicherheit hat das ganze einen Grund warum es so eingestellt war!?

Besten Dank soweit für die Anregungen!
Bitte warten ..
Mitglied: bytecounter
10.07.2013 um 08:55 Uhr
Hallo,

nun mit dem Exchange kenne ich mich leider nicht so gut aus, aber aus PHP-Sicht würde ich einfach direkt auf den Port 465 verbinden. Das ist der Standardport für SMTPS.
Dazu musst Du Deinen Mailer auch noch anweisen, dass er TLS verwendet:
01.
$mail->SMTPSecure = 'tls';
vg
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(1)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Microsoft
Keine Anmeldung mehr möglich (Server 2012 R2) (4)

Frage von Shnuuu zum Thema Microsoft ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...