+
+ /* POP3 BEFORE SMTP CODE HERE */
+ global $pop_before_smtp;
+ if (isset($pop_before_smtp) && $pop_before_smtp === true) {
+ if (!isset($pop_port)) {
+ $pop_port = 110;
+ }
+ if (!isset($pop_server)) {
+ $pop_server = $smtpServerAddress; /* usually the same host! */
+ }
+ $popConnection = fsockopen($pop_server, $pop_port, $err_no, $err_str);
+ if (!$popConnection) {
+ error_log("Error connecting to POP Server ($pop_server:$pop_port)"
+ . " $err_no : $err_str");
+ } else {
+ $tmp = fgets($popConnection, 1024); /* banner */
+ if (!eregi("^\+OK", $tmp, $regs)) {
+ return(0);
+ }
+ fputs($popConnection, "USER $username\r\n");
+ $tmp = fgets($popConnection, 1024);
+ if (!eregi("^\+OK", $tmp, $regs)) {
+ return(0);
+ }
+ fputs($popConnection, 'PASS ' . OneTimePadDecrypt($key, $onetimepad) . "\r\n");
+ $tmp = fgets($popConnection, 1024);
+ if (!eregi("^\+OK", $tmp, $regs)) {
+ return(0);
+ }
+ fputs($popConnection, "QUIT\r\n"); /* log off */
+ fclose($popConnection);
+ }
+ }