# Squirrelmail error connecting to IMAP server.

## DrWilken

Hi all.

I have followed the "email system for the home network 2.1", and I can send/receive mail from my client (workstation) through my server.

When I try to use Squirrelmail I get the following error:

```

Warning: fsockopen(): unable to connect to localhost:993 in /var/www/localhost/htdocs/squirrelmail/functions/imap_general.php on line 445

SquirrelMail version 1.4.3

By the SquirrelMail Development Team

ERROR 

Error connecting to IMAP server: localhost.

110 : Connection timed out

 

Go to the login page 

 

```

I know u probably need some conf files but please tell me which and I will post them.

I have tried using the ./configure script that comes with SquirrelMail and set it up to use IMAP server at localhost:993.

Here is my config.php (from Squirrelmail):

```

<?php

/**

 * SquirrelMail Configuration File

 * Created using the configure script, conf.pl

 */

global $version;

$config_version = '1.4.0';

$config_use_color = 1;

$org_name      = "SquirrelMail";

$org_logo      = SM_PATH . 'images/sm_logo.png';

$org_logo_width  = '308';

$org_logo_height = '111';

$org_title     = "SquirrelMail $version";

$signout_page  = '';

$frame_top     = '_top';

$provider_uri     = 'http://www.squirrelmail.org/';

$provider_name     = 'SquirrelMail';

$motd = "";

$squirrelmail_default_language = 'en_US';

$domain                 = 'tux-power.dk';

$imapServerAddress      = 'localhost';

$imapPort               = 993;

$useSendmail            = false;

$smtpServerAddress      = 'localhost';

$smtpPort               = 25;

$sendmail_path          = '/usr/sbin/sendmail';

$pop_before_smtp        = false;

$imap_server_type       = 'courier';

$invert_time            = false;

$optional_delimiter     = 'detect';

$default_folder_prefix          = '';

$trash_folder                   = 'INBOX.Trash';

$sent_folder                    = 'INBOX.Sent';

$draft_folder                   = 'INBOX.Drafts';

$default_move_to_trash          = true;

$default_move_to_sent           = true;

$default_save_as_draft          = true;

$show_prefix_option             = false;

$list_special_folders_first     = true;

$use_special_folder_color       = true;

$auto_expunge                   = true;

$default_sub_of_inbox           = true;

$show_contain_subfolders_option = false;

$default_unseen_notify          = 2;

$default_unseen_type            = 1;

$auto_create_special            = true;

$delete_folder                  = false;

$noselect_fix_enable            = false;

$default_charset          = 'iso-8859-1';

$data_dir                 = SM_PATH . 'data/';

$attachment_dir           = $data_dir;

$dir_hash_level           = 0;

$default_left_size        = '150';

$force_username_lowercase = false;

$default_use_priority     = true;

$hide_sm_attributions     = false;

$default_use_mdn          = true;

$edit_identity            = true;

$edit_name                = true;

$allow_thread_sort        = false;

$allow_server_sort        = false;

$allow_charset_search     = true;

$uid_support              = true;

$theme_css = '';

$theme_default = 0;

$theme[0]['PATH'] = SM_PATH . 'themes/default_theme.php';

$theme[0]['NAME'] = 'Default';

$theme[1]['PATH'] = SM_PATH . 'themes/plain_blue_theme.php';

$theme[1]['NAME'] = 'Plain Blue';

$theme[2]['PATH'] = SM_PATH . 'themes/sandstorm_theme.php';

$theme[2]['NAME'] = 'Sand Storm';

$theme[3]['PATH'] = SM_PATH . 'themes/deepocean_theme.php';

$theme[3]['NAME'] = 'Deep Ocean';

$theme[4]['PATH'] = SM_PATH . 'themes/slashdot_theme.php';

$theme[4]['NAME'] = 'Slashdot';

$theme[5]['PATH'] = SM_PATH . 'themes/purple_theme.php';

$theme[5]['NAME'] = 'Purple';

$theme[6]['PATH'] = SM_PATH . 'themes/forest_theme.php';

$theme[6]['NAME'] = 'Forest';

$theme[7]['PATH'] = SM_PATH . 'themes/ice_theme.php';

$theme[7]['NAME'] = 'Ice';

$theme[8]['PATH'] = SM_PATH . 'themes/seaspray_theme.php';

$theme[8]['NAME'] = 'Sea Spray';

$theme[9]['PATH'] = SM_PATH . 'themes/bluesteel_theme.php';

$theme[9]['NAME'] = 'Blue Steel';

$theme[10]['PATH'] = SM_PATH . 'themes/dark_grey_theme.php';

$theme[10]['NAME'] = 'Dark Grey';

$theme[11]['PATH'] = SM_PATH . 'themes/high_contrast_theme.php';

$theme[11]['NAME'] = 'High Contrast';

$theme[12]['PATH'] = SM_PATH . 'themes/black_bean_burrito_theme.php';

$theme[12]['NAME'] = 'Black Bean Burrito';

$theme[13]['PATH'] = SM_PATH . 'themes/servery_theme.php';

$theme[13]['NAME'] = 'Servery';

$theme[14]['PATH'] = SM_PATH . 'themes/maize_theme.php';

$theme[14]['NAME'] = 'Maize';

$theme[15]['PATH'] = SM_PATH . 'themes/bluesnews_theme.php';

$theme[15]['NAME'] = 'BluesNews';

$theme[16]['PATH'] = SM_PATH . 'themes/deepocean2_theme.php';

$theme[16]['NAME'] = 'Deep Ocean 2';

$theme[17]['PATH'] = SM_PATH . 'themes/blue_grey_theme.php';

$theme[17]['NAME'] = 'Blue Grey';

$theme[18]['PATH'] = SM_PATH . 'themes/dompie_theme.php';

$theme[18]['NAME'] = 'Dompie';

$theme[19]['PATH'] = SM_PATH . 'themes/methodical_theme.php';

$theme[19]['NAME'] = 'Methodical';

$theme[20]['PATH'] = SM_PATH . 'themes/greenhouse_effect.php';

$theme[20]['NAME'] = 'Greenhouse Effect (Changes)';

$theme[21]['PATH'] = SM_PATH . 'themes/in_the_pink.php';

$theme[21]['NAME'] = 'In The Pink (Changes)';

$theme[22]['PATH'] = SM_PATH . 'themes/kind_of_blue.php';

$theme[22]['NAME'] = 'Kind of Blue (Changes)';

$theme[23]['PATH'] = SM_PATH . 'themes/monostochastic.php';

$theme[23]['NAME'] = 'Monostochastic (Changes)';

$theme[24]['PATH'] = SM_PATH . 'themes/shades_of_grey.php';

$theme[24]['NAME'] = 'Shades of Grey (Changes)';

$theme[25]['PATH'] = SM_PATH . 'themes/spice_of_life.php';

$theme[25]['NAME'] = 'Spice of Life (Changes)';

$theme[26]['PATH'] = SM_PATH . 'themes/spice_of_life_lite.php';

$theme[26]['NAME'] = 'Spice of Life - Lite (Changes)';

$theme[27]['PATH'] = SM_PATH . 'themes/spice_of_life_dark.php';

$theme[27]['NAME'] = 'Spice of Life - Dark (Changes)';

$theme[28]['PATH'] = SM_PATH . 'themes/christmas.php';

$theme[28]['NAME'] = 'Holiday - Christmas';

$theme[29]['PATH'] = SM_PATH . 'themes/darkness.php';

$theme[29]['NAME'] = 'Darkness (Changes)';

$theme[30]['PATH'] = SM_PATH . 'themes/random.php';

$theme[30]['NAME'] = 'Random (Changes every login)';

$theme[31]['PATH'] = SM_PATH . 'themes/midnight.php';

$theme[31]['NAME'] = 'Midnight';

$theme[32]['PATH'] = SM_PATH . 'themes/alien_glow.php';

$theme[32]['NAME'] = 'Alien Glow';

$theme[33]['PATH'] = SM_PATH . 'themes/dark_green.php';

$theme[33]['NAME'] = 'Dark Green';

$theme[34]['PATH'] = SM_PATH . 'themes/penguin.php';

$theme[34]['NAME'] = 'Penguin';

$theme[35]['PATH'] = SM_PATH . 'themes/minimal_bw.php';

$theme[35]['NAME'] = 'Minimal BW';

$theme[36]['PATH'] = SM_PATH . 'themes/redmond.php';

$theme[36]['NAME'] = 'Redmond';

$default_use_javascript_addr_book = false;

$addrbook_dsn = '';

$addrbook_table = 'address';

$prefs_dsn = '';

$prefs_table = 'userprefs';

$prefs_user_field = 'user';

$prefs_key_field = 'prefkey';

$prefs_val_field = 'prefval';

$no_list_for_subscribe = false;

$smtp_auth_mech = 'login';

$imap_auth_mech = 'login';

$use_imap_tls = false;

$use_smtp_tls = true;

$session_name = 'SQMSESSID';

@include SM_PATH . 'config/config_local.php';

/**

 * Make sure there are no characters after the PHP closing

 * tag below (including newline characters and whitespace).

 * Otherwise, that character will cause the headers to be

 * sent and regular output to begin, which will majorly screw

 * things up when we try to send more headers later.

 */

?>

```

```

tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      18585/couriertcpd

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      10010/mysqld

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      22275/apache2

tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      30222/xinetd

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1341/sshd

tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      31019/master

```

Has anybody got an idea?[/code]

----------

## viperlin

try 

```
telnet localhost 993
```

if it connects and gives you a message/prompt then it's a squirrelmail problem

but imap usually runs on port 143 i think. 993 is the ssl version IIRC, does 143 work with the telnet if imap does not?

is courier-imap-ssl running? (seperate to courier-imap)

----------

## nobspangle

I doubt that squirrelmail can use imap SSL

change your port to 143 in the config

and start the standard imap server

```
/etc/courier-imapd start
```

----------

## viperlin

theres no point in imap ssl using localhost anyway  :Smile: 

----------

## DrWilken

 *viperlin wrote:*   

> try 
> 
> ```
> telnet localhost 993
> ```
> ...

 

Hmmmm...

I can't even ping localhost...   :Sad: 

I've set up my default gateway to my internet ip in /etc/conf.d/net. Not really sure if it's supposed to be the lan ip instead.

Info: Box is with 2 NICs: eth0 - outside & eth1 - inside acting as router...

My routing table:

 *Quote:*   

> 
> 
> Kernel IP routing table
> 
> Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
> ...

 

It's probably an error with this. the gateway "x1-6-00...." is dhcp assigned hostname on the outside (80.163.37.*)

----------

## DrWilken

 *nobspangle wrote:*   

> I doubt that squirrelmail can use imap SSL
> 
> change your port to 143 in the config
> 
> and start the standard imap server
> ...

 

You're probably right   :Laughing: 

This is my /etc/hosts:

```

# /etc/hosts:  This file describes a number of hostname-to-address

#              mappings for the TCP/IP subsystem.  It is mostly

#              used at boot time, when no name servers are running.

#              On small systems, this file can be used instead of a

#              "named" name server.  Just add the names, addresses

#              and any aliases to this file...

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/hosts,v 1.8 2003/08/04 20:12:25 azarah Exp $

#

127.0.0.1       localhost

192.168.1.1     mainframe.tux-power.dk  mainframe

```

----------

## DrWilken

Oh my god...   :Embarassed: 

Found the error! When I had a look at my iptables script I found the following line:

```

iptables -A INPUT -p all -i io -j ACCEPT

```

Which, of course, should have been:

```

iptables -A INPUT -p all -i lo -j ACCEPT

```

io is not an interface...   :Laughing:   but lo is   :Wink:   Sorry...

So this was just a typo.....   :Rolling Eyes: 

By the way. SquirrelMail can use SSL. It runs fine now.

----------

## diago

DrWilken, thanks for the tip, did exactly the same thing, but now joy be mine.   :Very Happy: 

----------

## DrWilken

Always glad to help   :Cool: 

----------

