我已經頭朝下運行到此從exim4安裝拒絕錯誤:與exim4安裝我的代碼554 SMTP同步誤差
smtp_enforce_sync='false'
acl_smtp_connect = nosync nosync:
control = no_enforce_sync
accept
但這:從H =安德[192.168.20.49]輸入= 「HELO 192.168.20.49 \ r \ n」 個
我已經修改我的exim4配置到不強制同步,像這樣拒絕的連接似乎並不重要。對我來說不那麼重要的是爲什麼我首先得到了554。我發送一個HELO,我等待迴應,並在某種程度上,我設法產生「554錯誤」
我在做什麼錯在下面的代碼,這使得失敗99%的時間(是的,它已經工作了兩次)。是的,套接字是阻塞的,我掛在recv約5秒鐘等待拒絕。在它工作的兩次時,它並沒有停下來。
我試過發送EHLO而不是HELO,沒有更好的運氣。我甚至有一個悲傷得到一個telnet會話連接並說HELO。但是,我可以使用python smtp(從另一臺機器)發送電子郵件就可以很好地對付同一臺服務器!
hSocket = _connectServerSocket(server, port);
if (hSocket != INVALID_SOCKET) {
BYTE sReceiveBuffer[4096];
int iLength = 0;
int iEnd = 0;
char buf[4096];
strcpy(buf, "HELO ");
strcat(buf, "192.168.20.49");
strcat(buf, "\r\n");
printf("%s", buf);
if (send(hSocket, (LPSTR)buf, strlen(buf), NO_FLAGS) == SOCKET_ERROR) {
printf("Socket send error: %d\r\n", WSAGetLastError());
return (false);
}
iLength = recv(hSocket,
(LPSTR)sReceiveBuffer+iEnd,sizeof(sReceiveBuffer)-iEnd,
NO_FLAGS);
iEnd += iLength;
sReceiveBuffer[iEnd] = '\0';
我無恥地偷了代碼http://www.codeproject.com/KB/IP/zsmtp.aspx?msg=1332673#xx1332673xx 我試圖讓我的測試程序之一給我發電子郵件,當它是完了! – boatcoder