Unicode C
Unicode C
Transition from MailMan.MxLookup to Dns.Query
Provides instructions for replacing deprecated MxLookup method calls with the Chilkat Dns class.Chilkat Unicode C Downloads
#include <C_CkMailManW.h>
#include <C_CkDnsW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkMailManW mailman;
const wchar_t *emailAddr;
const wchar_t *domain;
HCkDnsW dns;
HCkJsonObjectW json;
int i;
int count_i;
success = FALSE;
mailman = CkMailManW_Create();
// ...
// ...
emailAddr = L"joe@example.com";
// ------------------------------------------------------------------------
// The MxLookup method is deprecated:
domain = CkMailManW_mxLookup(mailman,emailAddr);
if (CkMailManW_getLastMethodSuccess(mailman) == FALSE) {
wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
CkMailManW_Dispose(mailman);
return;
}
// ------------------------------------------------------------------------
// Do the equivalent using the Chilkat DNS class
dns = CkDnsW_Create();
json = CkJsonObjectW_Create();
// This gets all MX domains for an email address. (Typically one domain.)
// The preferred domain will be at index 0 (see below).
success = CkDnsW_Query(dns,L"MX",emailAddr,json);
if (success == FALSE) {
wprintf(L"%s\n",CkDnsW_lastErrorText(dns));
CkMailManW_Dispose(mailman);
CkDnsW_Dispose(dns);
CkJsonObjectW_Dispose(json);
return;
}
i = 0;
count_i = CkJsonObjectW_SizeOfArray(json,L"answer.mx");
while (i < count_i) {
CkJsonObjectW_putI(json,i);
domain = CkJsonObjectW_stringOf(json,L"answer.mx[i].domain");
wprintf(L"%s\n",domain);
i = i + 1;
}
CkMailManW_Dispose(mailman);
CkDnsW_Dispose(dns);
CkJsonObjectW_Dispose(json);
}