diff --git a/exec/imapservice.js b/exec/imapservice.js
index 872345c155b4d74adb88b5bf33d942aefa9241e3..f112694ba1d575cb0b5fb9d4a4813eb5c68aaf06 100644
--- a/exec/imapservice.js
+++ b/exec/imapservice.js
@@ -190,8 +190,10 @@ function full_send(sock, str)
 	var sret;
 
 	do {
+		if (sock.poll(60, true) != 1)
+			break;
 		sret = sock.send(str.substr(sent));
-		if (sret == undefined)
+		if (sret == undefined || sret == 0)
 			break;
 		sent += sret;
 	} while(sent < str.length);