Monday, July 9, 2012

connect to mailbox with IMAP - php

install
  • php-imap
  • php-cli
modules in-order to work IMAP with php.

search for the  following line in your php.ini file

extension = imap.so

then search for the imap.ini file in /etc/php5/conf.d directory , if not exist create it with following line in it.

extension = imap.so


then restart apache server.

use following php sample code with your server name and user credentials to check connectivity.

XMPP chat logging with bandersnatch


add this in the modules section of ejabberd config file:
  {mod_service_log, [{loggers, ["localhost"]}]}

add this in the listeners section of ejabberd config file, you can use your own password:
  {5526, ejabberd_service, [{ip, {127, 0, 0, 1}}, {access, all},
                          {hosts, ["localhost"],
                          [{password, "secret"}]}]},

create bandersnatch database using given sql. make sure to remove TYPE=MyISAM if you are using innoDB mysql engine. and replace datatype timestamp(14) ,from timestamp all CREATE TABLE scripts.
modify bandersnatch/config.xml with the password.
  <server>
        <connectiontype>tcpip</connectiontype>
        <hostname>localhost</hostname>
        <port>5526</port>
    <secret>secret</secret>
</server>
<component>
    <name>localhost</name>
</component>

change,privacy value in site tag to 0.you need this change to set privacy level to log chat messages with sender and receiver details.
install the perl dependencies:
  sudo apt-get install libnet-jabber-perl

configure Perl interface to the SHA-1 algorithm using cpan.
  install Digest::SHA1

found bug in bandersnatch module you need to import Digest::SHA1 in order to make this work,add following line
  use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

in /usr/share/perl5/Net/Jabber/Component.pm
to start bandersnatch service
  perl bandersnatch config.xml