0
我有一小段C代碼從提供的字符串中提取電子郵件域,然後在其上進行主機查找。這看起來相當簡單,而且很有效。不過,這可以進一步簡化,或者做得更好嗎?感謝您的觀看。驗證電子郵件域的更好方法?
struct hostent *host;
int at = 0, ei = 0;
char email_host[MAX_HOSTNAME_LEN];
for (at = 0; at < strlen(argument); at++)
{
if (argument[at] == '@')
{
strcpy(&email_host[ei],&argument[at+1]);
ei++;
}
}
host = gethostbyname(email_host);
if (!host )
fail = TRUE;
你幾乎重新實現什麼'的strstr()'不,我會使用:HTTP:/ /www.cplusplus.com/reference/cstring/strstr/ –
您需要查找MX記錄,而不是域部分的常規A記錄。許多域名不會使用該域名的根名稱來建立主機,或者,如果它存在,它可能根本沒有裝備來處理SMTP。 – tripleee
@Scotty:你的意思是'strchr',對吧? OP正在尋找單個角色的位置。 – usr2564301