Recuperer le dns du serveur mx mail d'une adresse email

Contenu du snippet

salut, apres quelques recherche pour un projet, j'ai trouvé comment proceder pour obtenir la liste des serveurs mail a partir d'un mail, je vous la donne car je trouve cela tres utile pour envoyer des mails avec les sokcet

ex: pour hhhhh@free.fr -> le serveur mail le plus preferencé (20) est mx2.free.fr

afin de comparer :
sous dos, taper NSLOOKUP -q=mx free.fr

Réponse ne faisant pas autorité :
free.fr MX preference = 20, mail exchanger = mx2.free.fr
free.fr MX preference = 10, mail exchanger = mx1.free.fr

Source / Exemple :


#include <windns.h>

// rajouter la dnsapi.lib au linkage

bool getmx(char *host,char *resultat,int size) // host=free.fr
{
	PDNS_RECORD qw;
	int p=0;

	if (DnsQuery(host, DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &qw, NULL) == ERROR_SUCCESS)
	{
		while (qw) {
			if (p < qw->Data.MX.wPreference) {
				strncpy(resultat, qw->Data.MX.pNameExchange,size);
				p = qw->Data.MX.wPreference;
			}
			qw = qw->pNext;
		}
		DnsRecordListFree(qw, DnsFreeRecordList);
		return true;
	}
	return false;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.