Page 1 of 1
strange error

Posted:
Fri Oct 06, 2006 6:18 am
Author: ayasha
i keep getting a strange error occasionally, as do a few of my members. when we are making a post, and click submit, this error occurs.
any help would be appreciated <img> thanks
Could not connect to smtp host : 111 : Connection refused
DEBUG MODE
Line : 111
File : smtp.php
Re: strange error

Posted:
Fri Oct 06, 2006 9:18 am
Author: Dragonsys
looks like there might be a problem with either your SMTP settings, or your SMTP server.
Try changing your email settings (ACP -> General -> Configuration) to use php emailer instead of SMTP.
Didn't you have this problem before?

Posted:
Fri Oct 06, 2006 9:48 am
Author: ayasha
actually, i cannot send mass emails through my forum, so i had changed the settings to stmp server to try to get the mass emailing to work a month or so ago, and that did not help, but i forgot to change it back.
but the error did not show up until yesterday, but i changed it back to the php emailer and the error is gone now.
however, i just tested out the mass email feature and i still get this error
General Error
Failed sending email :: PHP ::
DEBUG MODE
Line : 233
File : emailer.php
Re: strange error

Posted:
Fri Oct 06, 2006 9:50 am
Author: Dragonsys
Ok, I rememerberd somethign about email before <img>
What version of IM and phpBB are you on?

Posted:
Fri Oct 06, 2006 10:48 am
Author: ayasha
"Dragonsys";p="16172" wrote:Ok, I rememerberd somethign about email before <img>
What version of IM and phpBB are you on?
IM 1.4.0
phpBB 2.0.21
Re: strange error

Posted:
Fri Oct 06, 2006 10:50 am
Author: Dragonsys
replace includes/emailer.php with this code (make a backup first)
See if it helps any
- Code: Select all
<php>addresses['cc'][] = trim($address); } function bcc($address) { $this->addresses['bcc'][] = trim($address); } function replyto($address) { $this->reply_to = trim($address); } function from($address) { $this->from = trim($address); } // set up subject for mail function set_subject($subject = '') { $this->subject = trim(preg_replace('#[nr]+#s', '', $subject)); } // set up extra mail headers function extra_headers($headers) { $this->extra_headers .= trim($headers) . "n"; } function use_template($template_file, $template_lang = '') { global $board_config, $phpbb_root_path; if (trim($template_file) == '') { message_die(GENERAL_ERROR, 'No template file set', '', __LINE__, __FILE__); } if (trim($template_lang) == '') { $template_lang = $board_config['default_lang']; } if (empty($this->tpl_msg[$template_lang . $template_file])) { $tpl_file = $phpbb_root_path . 'language/lang_' . $template_lang . '/email/' . $template_file . '.tpl'; if (!@file_exists(@phpbb_realpath($tpl_file))) { $tpl_file = $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/email/' . $template_file . '.tpl'; if (!@file_exists(@phpbb_realpath($tpl_file))) { message_die(GENERAL_ERROR, 'Could not find email template file :: ' . $template_file, '', __LINE__, __FILE__); } } if (!($fd = @fopen($tpl_file, 'r'))) { message_die(GENERAL_ERROR, 'Failed opening template file :: ' . $tpl_file, '', __LINE__, __FILE__); } $this->tpl_msg[$template_lang . $template_file] = fread($fd, filesize($tpl_file)); fclose($fd); } $this->msg = $this->tpl_msg[$template_lang . $template_file]; return true; } // assign variables function assign_vars($vars) { $this->vars = (empty($this->vars)) ? $vars : $this->vars . $vars; } // Send the mail out to the recipients set previously in var $this->address function send() { global $board_config, $lang, $phpEx, $phpbb_root_path, $db; // Escape all quotes, else the eval will fail. $this->msg = str_replace ("'", "'", $this->msg); $this->msg = preg_replace('#{([a-z0-9-_]*?)}#is', "' . $\1 . '", $this->msg); // Set vars reset ($this->vars); while (list($key, $val) = each($this->vars)) { $$key = $val; } eval("$this->msg = '$this->msg';"); // Clear vars reset ($this->vars); while (list($key, $val) = each($this->vars)) { unset($$key); } // We now try and pull a subject from the email body ... if it exists, // do this here because the subject may contain a variable $drop_header = ''; $match = array(); if (preg_match('#^(Subject:(.*?))$#m', $this->msg, $match)) { $this->subject = (trim($match[2]) != '') ? trim($match[2]) : (($this->subject != '') ? $this->subject : 'No Subject'); $drop_header .= '[rn]*?' . preg_quote($match[1], '#'); } else { $this->subject = (($this->subject != '') ? $this->subject : 'No Subject'); } if (preg_match('#^(Charset:(.*?))$#m', $this->msg, $match)) { $this->encoding = (trim($match[2]) != '') ? trim($match[2]) : trim($lang['ENCODING']); $drop_header .= '[rn]*?' . preg_quote($match[1], '#'); } else { $this->encoding = trim($lang['ENCODING']); } if ($drop_header != '') { $this->msg = trim(preg_replace('#' . $drop_header . '#s', '', $this->msg)); } $to = $this->addresses['to']; $cc = (count($this->addresses['cc'])) ? implode(', ', $this->addresses['cc']) : ''; $bcc = (count($this->addresses['bcc'])) ? implode(', ', $this->addresses['bcc']) : ''; // Build header $this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_ton" : '') . (($this->from != '') ? "From: $this->fromn" : "From: " . $board_config['board_email'] . "n") . "Return-Path: " . $board_config['board_email'] . "nMessage-ID: <md5>encoding . "nContent-transfer-encoding: 8bitnDate: " . date('r', time()) . "nX-Priority: 3nX-MSMail-Priority: NormalnX-Mailer: PHPnX-MimeOLE: Produced By phpBB2n" . $this->extra_headers . (($cc != '') ? "Cc: $ccn" : '') . (($bcc != '') ? "Bcc: $bccn" : ''); // Send message ... removed $this->encode() from subject for time being if ( $this->use_smtp ) { if ( !defined('SMTP_INCLUDED') ) { include($phpbb_root_path . 'includes/smtp.' . $phpEx); } $result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers); } else { $empty_to_header = ($to == '') ? TRUE : FALSE; $to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to; $result = @mail($to, $this->subject, preg_replace("#(?<!r)n#s", "n", $this->msg), $this->extra_headers); if (!$result && !$board_config['sendmail_fix'] && $empty_to_header) { $to = ' '; $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '1' WHERE config_name = 'sendmail_fix'"; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql); } $board_config['sendmail_fix'] = 1; $result = @mail($to, $this->subject, preg_replace("#(?<r>encoding?B?"; $spacer = "$endrn $start"; // determine length of encoded text within chunks and ensure length is even $length = 75 - strlen($start) - strlen($end); $length = floor($length / 2) * 2; // encode the string and split it into chunks with spacers after each chunk $str = chunk_split(base64_encode($str), $length, $spacer); // remove trailing spacer and add start and end delimiters $str = preg_replace('#' . preg_quote($spacer, '#') . '$#', '', $str); return $start . $str . $end; } // // Attach files via MIME. // function attachFile($filename, $mimetype = "application/octet-stream", $szFromAddress, $szFilenameToDisplay) { global $lang; $mime_boundary = "--==================_846811060==_"; $this->msg = '--' . $mime_boundary . "nContent-Type: text/plain;ntcharset="" . $lang['ENCODING'] . ""nn" . $this->msg; if ($mime_filename) { $filename = $mime_filename; $encoded = $this->encode_file($filename); } $fd = fopen($filename, "r"); $contents = fread($fd, filesize($filename)); $this->mimeOut = "--" . $mime_boundary . "n"; $this->mimeOut .= "Content-Type: " . $mimetype . ";ntname="$szFilenameToDisplay"n"; $this->mimeOut .= "Content-Transfer-Encoding: quoted-printablen"; $this->mimeOut .= "Content-Disposition: attachment;ntfilename="$szFilenameToDisplay"nn"; if ( $mimetype == "message/rfc822" ) { $this->mimeOut .= "From: ".$szFromAddress."n"; $this->mimeOut .= "To: ".$this->emailAddress."n"; $this->mimeOut .= "Date: ".date("D, d M Y H:i:s") . " UTn"; $this->mimeOut .= "Reply-To:".$szFromAddress."n"; $this->mimeOut .= "Subject: ".$this->mailSubject."n"; $this->mimeOut .= "X-Mailer: PHP/".phpversion()."n"; $this->mimeOut .= "MIME-Version: 1.0n"; } $this->mimeOut .= $contents."n"; $this->mimeOut .= "--" . $mime_boundary . "--" . "n"; return $out; // added -- to notify email client attachment is done } function getMimeHeaders($filename, $mime_filename="") { $mime_boundary = "--==================_846811060==_"; if ($mime_filename) { $filename = $mime_filename; } $out = "MIME-Version: 1.0n"; $out .= "Content-Type: multipart/mixed;ntboundary="$mime_boundary"nn"; $out .= "This message is in MIME format. Since your mail reader does not understandn"; $out .= "this format, some or all of this message may not be legible."; return $out; } // // Split string by RFC 2045 semantics (76 chars per line, end with rn). // function myChunkSplit($str) { $stmp = $str; $len = strlen($stmp); $out = ""; while ($len > 0) { if ($len >= 76) { $out .= substr($stmp, 0, 76) . "rn"; $stmp = substr($stmp, 76); $len = $len - 76; } else { $out .= $stmp . "rn"; $stmp = ""; $len = 0; } } return $out; } // // Split the specified file up into a string and return it // function encode_file($sourcefile) { if (is_readable(phpbb_realpath($sourcefile))) { $fd = fopen($sourcefile, "r"); $contents = fread($fd, filesize($sourcefile)); $encoded = $this->myChunkSplit(base64_encode($contents)); fclose($fd); } return $encoded; } } // class emailer ?>

Posted:
Fri Oct 06, 2006 11:56 am
Author: ayasha
no, that did not help Dragonsys
Re: strange error

Posted:
Mon Oct 09, 2006 7:29 am
Author: Dragonsys
php email might be disabled by your Host provider. Try SMTP again, but make sure that the address and username and such is all correct.
You might want to contact your Provider and ask them about PHP email and the SMTP stuff.

Posted:
Mon Oct 16, 2006 5:56 am
Author: Merrillizer
That error usually comes up when your hosts email server is down, or one of their settings is messed up. Happened to me a few times in the past 3 years. Usually goes away after a little while, when they fix the problem. When its happened to me, its always been a server side issue.
Re: strange error

Posted:
Mon Oct 16, 2006 10:15 am
Author: ayasha
"Dragonsys";p="16292" wrote:php email might be disabled by your Host provider. Try SMTP again, but make sure that the address and username and such is all correct.
You might want to contact your Provider and ask them about PHP email and the SMTP stuff.
that was it Dragonsys! now that i am on my own server again, i can mass email <img>