Unicode C
Unicode C
Transition from MailMan.MxLookupAll to the Chilkat DNS class
Provides instructions for replacing deprecated MxLookupAll method calls with the Chilkat Dns class.Chilkat Unicode C Downloads
#include <C_CkMailManW.h>
#include <C_CkStringArrayW.h>
#include <C_CkDnsW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkMailManW mailman;
const wchar_t *emailAddr;
HCkStringArrayW sa;
HCkDnsW dns;
HCkJsonObjectW json;
int i;
int count_i;
const wchar_t *domain;
success = FALSE;
mailman = CkMailManW_Create();
// ...
// ...
emailAddr = L"joe@example.com";
// ------------------------------------------------------------------------
// The MxLookupAll method is deprecated:
sa = CkMailManW_MxLookupAll(mailman,emailAddr);
if (CkMailManW_getLastMethodSuccess(mailman) == FALSE) {
wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
CkMailManW_Dispose(mailman);
return;
}
// ...
// ...
CkStringArrayW_Dispose(sa);
// ------------------------------------------------------------------------
// 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);
}