我正在尝试使用Ti.Network.TCPSocket登录IMAP服务器。
很难,因为我没有收到任何回调试。例如:
var socket = Ti.Network.createTCPSocket("imap.gmail.com", 993);
socket.connect();
socket.write("LOGIN user pass\r\n");
//event handlers
socket.onWrite(function(data) {
Ti.API.debug('Written to socket: '+data);
});
socket.onError(function(data) {
Ti.API.debug(data);
});
我没有收到任何回报。甚至没有错误或某种代码或确认某事实际发生。
我在这里做错了吗?
如何让这些偶数处理程序工作或套接字返回某种消息。
任何帮助都将不胜感激。
更新 - 完整代码
Ti.API.debug('Start A socket Connection');
var socket = Ti.Network.createTCPSocket("imap.gmail.com", 993);
Ti.API.debug('Connect the socket');
socket.connect();
Ti.API.debug('Socket Connected');
var command = uniqueid()+" LOGIN USER PASS\r\n";
socket.write(command);
//this is where the debug stops. No echo.
Ti.API.debug('Command Run');
socket.onWrite(function(data) {
Ti.API.debug('Written to socket: '+data);
});
socket.onError(function(data) {
Ti.API.debug('Error: '+data);
});
socket.onReadComplete(function(data) {
Ti.API.debug('Here: '+data);
});
function uniqueid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 10; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4";
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
s[8] = s[13] = s[18] = s[23];
var uuid = s.join("");
return uuid;
}
答案 0 :(得分:0)
端口993用于基于SSL的IMAP。
答案 1 :(得分:0)
这不会解决您的所有问题,但可能有所帮助。您可能想尝试使用wireshark这样的实用程序,以便在socket.write时查看您正在发送的内容,并将其与您的电子邮件客户端发送的内容进行比较。