Function | Package: net.post-office | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version

## make-pop-connection

Arguments: host &key user password port timeout

This function creates a connection to the pop server on machine host and logs in as user with password password. The port argument defaults to 110, which is the port on which the pop server normally listens. The timeout argument defaults to 30 (seconds) and this value is used to limit the amount of time this pop interface code will wait for a response from the server before giving up. In certain circumstances the server may get so busy that you see timeout errors signaled in this code. In that case you should specify a larger timeout when connecting.

See below for how to specify the host argument.

The value returned by this function is a mailbox object (such as is returned by make-imap-connection). You can call mailbox-message-count on the mailbox object to determine how many letters are currently stored in the mailbox.

## The host argument

The host argument can serve several functions as well as just specifying the host, which it does in all cases. It can also specify a port number. And it can specify SSL and STARTTLS details. We discuss each use in turn.

### Using host to specify the server only

The value can be a string naming a machine, or an IP address (in dotted form, as an integer for IPv4 addresses, or an IPv6 address structure).

By default, this function makes a connection to port 110 on host.

### Specifing a server and a port number

If you need to connect to a port other than the default (port 110), you can specify the host argument in one of the following two ways to specify the alternate port number (and, as described below, an alternate port can be specified along with SSL and STARTTLS information):

1. As a cons: if host is specified as a cons, the car should be the name or IP address of the host and the cdr should be the alternate port number. e.g. you could specify `'("smtp.example.com" . 99)` and port 99 will be used.
2. As a colon-separate string: the text before the colon specifies the hostname or IP address of the host and the text after the colon specifies the alternate port number. e.g. `"smtp.example.com:99"`. Note that this form is not suitable if the host is specified as an IPv6 dotted address (because the dotted address uses colons as separators).

### Specifying the server, the port, and SSL and STARTTLS information

The most general form of the mail-server argument is a list of the form:

    (server-name &key (port 110) (ssl nil) (starttls nil) ...ssl-client-keywords...)

where

- server-name is as described above for specifying the server only (i.e. a string or an IP address).
- port allows for another way to specify the port to connect to. The default port for tcp connections is 110. When ssl is non-`nil`, the default port is 995.
- If ssl is non-`nil`, make-ssl-client-stream will be called after establishing a connection to the smtp server. All ssl-client-keywords are passed to make-ssl-client-stream as well.
- If starttls is non-`nil`, it allows for negotiation of a secure connection (TLSv1) if the server supports it. If the server supports both auth and starttls, starttls will be negotiated before attempting authentication.
- ...ssl-client-keywords...: all keyword args to make-ssl-client-stream are accepted. e.g. :method :ciphers, certificate related args, etc. They are only used if ssl is non-`nil`.

No error is signalled if both ssl and starttls are non-`nil`. The SSL connection is established before any starttls negotiation would begin.

See also with-pop-connection. See imap.htm for more information.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page has had moderate revisions compared to the 8.2 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version