Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

NSLookup in C Programm durchführen!

Empfohlene Antworten

Veröffentlicht

Hallo Leutz...ich hab da mal ne dringende Frage und hoffe, dass ihr mir mal wieder helfen könnt! Beim HTTP Server hat das ja auch ganz gut geklappt! Naja auf jeden fall soll ich nun erstmal einen SMTP Server programmieren und bin soweit auch ganz gut vorangekommen!

Nun mein Problem! Also ich bekomme die Nachricht von meinem Client (Outlook Express) auf meinen Server via SMTP Protokoll! Nun möchte ich die Mail natürlich von meinem Server an den entsprechenden Empfänger schicken! Dazu brauch ich ja den genauen Mailserver des jeweiligen Empfängers um ein Connect mit ihm herzustellen. Das Problem ist nun, dass ich ja nur die Domain habe, also das was in der E-Mail nach dem @ folgt, da fehlt mir ja noch der prefix und der ist von Empfänger zu Empfäner verschiedend.

Lösung hatte ich ir jetzt gedacht ist ganz einfach sowas wir ein NSLookup machen, also über die MXRecords an die komplette DNS heranzukommen.

Wenn ich NSLookup in der Windows Komandozeile öffne und dann MXRecord für z.B. gmx.de mache, dann bekomme ich die mailserver von gmx.

Genau soetwas möchte ich in meinem C-Code machen!

kennt da jemand vll eine bereits vorhandene Funktion? ich hab das bislang nichts gefunden und schon ne weile gesucht!

Das einzige das ich bislang gefunden habe ist DnsQuery, aber da ist die msdn sehr verwirrend und ich weiß nicht ob ich das verwenden kann.

Bitte um hilfe und ein beispiel wäre mehr als überragend! ;)

ok das klingt vielversprechend, aber so recht verstanden hab ich nun nicht, was ich genau machen soll. Bin halt noch nicht so wirklich drin in dem Thema SMTP Server und vorallem beim verstehen von der msdn Hilfe! Kannst du mir vielleicht ein Beispiel geben, wie genau ich das machen muss?

danke schonmal!

du deklarierst das ResultSet als DNS_RECORD * pResultSet;

dann übergibst alles an DnsQuery: int status = DnsQuery("google.com",DNS_TYPE_MX,DNS_QUERY_STANDARD,NULL,&pResultSet,NULL);

prüfst den status if(status == ...

und läufst mit ner schleife über das ResultSet, sammels deine daten raus und gibst das ResultSet mit DnsRecordListFree(pResultSet,DnsFreeRecordList); wieder frei.

die schleife sollte etwa so aussehen:


for (i=pResultSet[0];i->next != NULL ; i = i->next) {

  if (i->wType == DNS_TYPE_MX) {

    cout << "mx record: " << i->Data.pNameExchange;

  }


}

oder so, bin bissel raus aus WinAPI sry =)

danke dir das hab ich verstanden und das soweit auch schon umgesetzt! hatte mich beim warten auf deine Antwort, obwohl sie so schnell kam mal selbst noch näher eingelesen und einfach mal drauf los probiert!

Jetzt stehe ich jedoch vor folgendem Problem und zwar ist der erste Parameter in der DNSQuery Function ein PCWSTR! und ich möchte der Funktion ja einen String mitgeben also wie in deinem beispiel: "google.com"

nun bekomme ich aber eine Fehlermeldung, dass er das nicht umwandeln kann!

wenn ich dann den string caste oder ihn vorher deklariere und dann meinen string mit LPCTSTR(str) in die Variable schreibe, bekomme ich nur schrott...iwelche verwirrten zeichen und DNSQuery hat dann Fehler 123

Hoffe du kannst mir wieder weiterhelfen!

Problem behoben...musste lediglich den charset auf Multibyte umstellen..!

nun aber schon wieder ein neues problem :(

hab gerade erfahren, dass der SMTP Server auf linux laufen soll...und DNSQuery ist ja leider eine Windows funktion!

Hat jemand eine idee, ob es eine ähnliche Funktion für linux gibt?

:confused::confused::confused:

alles klar danke dir!! mein google hat das nicht ausgespuckt! :P:D

dann werd ich das wohl jetzt hinbekommen...;)

danke für die reichliche Hilfe!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.