diff --git a/index.js b/index.js
index 66f2022..9f3e26c 100644
--- a/index.js
+++ b/index.js
@@ -22,6 +22,23 @@ function isAdmin(user) {
   return (admins.indexOf(user) >= 0);
 }
 
+function sendPM(destination, message) {
+    try {
+        logger.info("Sending to " + destination + ": " + message);
+        YahooMessenger.sendPM(destination, message);
+    }
+    catch (e) {
+        logger.info("Something wrong");
+        logger.info(e);
+        logger.info("Try to reconnecting to yahoo messenger");
+        YahooMessenger.login(config.yahoomessenger.username, config.yahoomessenger.password);
+        return false;
+    }
+
+    return true;
+
+}
+
 function broadcast(destinations, message, exclude) {
     var destinations = destinations.split(',');
     var destinationCount = destinations.length;
@@ -32,8 +49,7 @@ function broadcast(destinations, message, exclude) {
             continue;
         }
 
-        logger.info('Sending message to ' + destination);
-        YahooMessenger.sendPM(destination, message);
+        sendPM(destination, message);
     }
 }
 
@@ -44,8 +60,8 @@ var _keepAliveLoop = function() {
         YahooMessenger.keepAlive();
     }
     catch(e) {
-        logger.error("Something wrong");
-        logger.error(e);
+        logger.info("Something wrong");
+        logger.info(e);
         logger.info("Try to reconnecting to yahoo messenger");
         YahooMessenger.login(config.yahoomessenger.username, config.yahoomessenger.password);
         return;
@@ -154,7 +170,7 @@ function onYmPM(data) {
             }
 
             logger.info('Forward to ' + target + ': ' + messageToForward);
-            YahooMessenger.sendPM(target, '@' + partner + ': ' + messageToForward);
+            sendPM(target, '@' + partner + ': ' + messageToForward);
 
         } else if (message.charAt(0) == '+') {
             target = message.split(' ', 1).join();
@@ -166,7 +182,7 @@ function onYmPM(data) {
             }
 
             logger.info('Clean forward to ' + target + ': ' + messageToForward);
-            YahooMessenger.sendPM(target, messageToForward);
+            sendPM(target, messageToForward);
         }
 
     }