Hallo,
über unseren Mailserver verschicke ich Emails an Kunden von unserem FileSystem aus. Dort gibt es aber des öfteren Probleme....
0001 Microsoft Mail Internet Headers Version 2.0
0002 Received: from *** ([xxx.xxx.xxx.xxx]) by *** with Microsoft SMTPSVC(6.0.3790.1830);
0003 Mon, 10 Apr 2006 15:56:20 +0200
0004 Received: from localhost (localhost.localdomain [xxx.xxx.xxx.xxx])
0005 by *** (* GmbH) with ESMTP id 20B2093016
0006 for <@.de>; Mon, 10 Apr 2006 15:56:13 +0200 (CEST)
0007 Received: from *** ([xxx.xxx.xxx.xxx])
0008 by localhost (*** [xxx.xxx.xxx.xxx]) (amavisd-new, port 10024)
0009 with ESMTP id 16049-05 for <@.de>;
0010 Mon, 10 Apr 2006 15:56:11 +0200 (CEST)
0011
0012 Received: from webbox644 (unknown [xxx.xxx.xxx.xxx])
0013 by *** (* GmbH) with ESMTP id B112F93014
0014 for <@.de>; Mon, 10 Apr 2006 15:56:10 +0200 (CEST)
0015
0016 thread-index: AcZcpoiqEhcSzmDmThiqT+fyUBSwuQ==
0017 Thread-Topic: * GmbH FileSystem - Kontakt
0018 From: <@.de>
0019 To: <@.de>
0020 Subject: * GmbH FileSystem - Kontakt
0021 Date: Mon, 10 Apr 2006 15:56:15 +0200
0022 Message-ID: <002d01c65ca6$88aa8180$b94a95c3@serverhome.net>
0023 MIME-Version: 1.0
0024 Content-Type: text/plain;
0025 charset="utf-8"
0026 Content-Transfer-Encoding: 7bit
0027 X-Mailer: Microsoft CDO for Windows 2000
0028 Content-Class: urn:content-classes:message
0029 Importance: high
0030 Priority: normal
0031 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
0032 X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at *.de
0033 X-Spam-Status: No, hits=1.2 tagged_above=-999.9 required=5.0 tests=AWL,
0034 BAYES_50, MISSING_SUBJECT
0035 X-Spam-Level: *
0036 Return-Path: @.de
0037 X-OriginalArrivalTime: 10 Apr 2006 13:56:20.0104 (UTC) FILETIME=[8B7AB880:01C65CA6]
Das Problem, so unsere Admin liegt an der rote makierten Stelle. Dort müsste ich statt dem unknown, eben den name des Rechner mitgeben.
Habt ihr eine Ahnung, wie ich dies über die System.Web.Mail klasse tuen kann? Bzw. sagte unsere Admin dort was von EHLO?
edit:
HELO bzw. EHLO die Identität der Gegenseite festgestellt. Die IP-Adresse des einliefernden Rechners wird von ihm angegeben und vom Mailserver ebenfalls aus den TCP-Paketen ausgelesen
Danke für jeden Hilfe
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Andere Frage. Kann ich irgendwo konfigurieren, da er nicht nur die IP mitgibt sondern auch den Rechnername. Das "unknown" darf da nicht sein! Da meckert unser Mailserver rum!
Received: from webbox644 (unknown [xxx.xxx.xxx.xxx])
by *** (* GmbH) with ESMTP id B112F93014
for <@.de>; Mon, 10 Apr 2006 15:56:10 +0200 (CEST)
Ansonsten muss ich eine eigene Implementierung der Mailklassse machen und kann nicht mehr über System.Web.Mail gehen!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Hi, danke für deine Antwort. Aber da versende ich ganz normal eine Email, wie ich es bisher auch tue. Problem ist nur eben diese rot markierte Zeile, die müsste ich irgendwie beeinflussen!
Was ich machen könnte wäre ja eine eigene Email Implementierung machen über die Klasse Networkclass! Aber das scheint mir ein wenig zu aufwendig!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Mein Code sieht momentan so aus:
'// Kein Empfaenger angegeben, dann...
if Library.General.Nz(_To, true) = false then
'// Deklaration
Dim oEmail As MailMessage = New MailMessage()
Dim arrlAttachElement As Object
Dim strUsername AS String
Dim strPassword as String
'// Benutzername und Passwort ermitteln
strUsername = ConfigurationSettings.AppSettings("LIBRARY.EMAIL_USERNAME")
strPassword = ConfigurationSettings.AppSettings("LIBRARY.EMAIL_PASSWORD")
'// Eigenschaften zuweisen
oEmail.From = Library.General.Nz(_From, true, true, ConfigurationSettings.AppSettings("LIBRARY.EMAIL_MAILFROM"))
oEmail.To = _To
oEmail.Cc = _Cc
oEmail.Bcc = _Bcc
oEmail.Subject = _Subject
oEmail.Body = _Body
oEmail.BodyEncoding = Encoding.UTF8
if _MailFormatHtml = true then oEmail.BodyFormat = MailFormat.Html else oEmail.BodyFormat = MailFormat.Text
oEmail.Priority = MailPriority.High
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", _SmtpServer)
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", _SmtpPort)
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", _SmtpSend)
'// Authentifizierung
Select Case _SmtpAuth
Case "0" 'Anonymous Authentication
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "0")
Case "1" 'Basic (clear-text) Authentication
if (Library.General.Nz(strUsername, true) = true) or (Library.General.Nz(strPassword, true) = true) then Throw New Exception("Benutzername und/oder Password sind nicht vorhanden (NULL).")
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", strUsername)
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", strPassword)
Case "2" 'NTLM Authentication
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "2")
Case else 'Anonymous Authentication
oEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "0")
End Select
'// Durchlaufen und Parameter an Command-Objekt setzen
For Each arrlAttachElement In arrListAttach
oEmail.Attachments.Add(arrlAttachElement)
Next
'// Email versenden
SmtpMail.SmtpServer = _SmtpServer
SmtpMail.Send(oEmail)
end if
Die rote Zeile habe ich jetzt noch mit eingebaut. mal guckn ob das jetzt klappt!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Ich tippe mal darauf, dass du die Mail nicht von einem Mailserver aus versendest, sondern von dem Client auf dem du programmierst. Ich meine zu wissen, dass ein Server der E-Mails versenden kann/darf auch einen DNS Eintrag haben muss. Das scheint bei dir nicht der Fall zu sein.
D.h.: Du kannst den namen des Rechners nicht mitschicken, weil nicht der Name des Rechners sondern der DNS Eintrag der auf den Server zeigt mitgeschickt werden muss. Das kannst du leider nicht beeinflußen.
Das gleiche Problem hatte ich mal mit einer neu aufgesetzten Linux Maschine von der ich Mails versenden wollte. ALLE Server haben meine Mail nicht akzeptiert, weil ich halt eine Unknown Maschine war. Nach einem DNS Eintrag lief alles supi....
Versuch doch mal von einem Mail Server bzw. einem Server zu versenden, der einen DNS Eintrag hat.
Ich hoffe, ich konnte dir helfen.
mfg Tomek
Microsoft Certified Professional (MCP)
Meine persönliche Seite: www.tomeks-world.de
Hallo Tomek,
vielen Dank für deine Antwort. Das hilft mir auf jedenfall weiter.... mal schauen ob sich das was machen lässt.
Problem ist halt das diese Maschine unser Webserver ist und die Mails werden halt über die Web-Applikation verschickt!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de