I have done a fresh install on RC5 and everything seems to work but when I try to add a new email address and out going SMTP setup in the SCP portal i get the error "Unable to add email. Intenal error". I have turned on errors and this is what I get when I try to apply SMTP login information and SMTP settings:
Warning: mail() : SMTP server response: 530 SMTP authentication is required. in C:\inetpub\vhosts\domain.com\httpdocs\support\include\pear\Mail\mail.php on line 128
I do not have a php.ini file so please dont ask me to update that. I have also tried to manually put in the smtp information with:
ini_set("sendmail_from","username@mydomain.com");
ini_set("SMTP","mydomain.com");
ini_set("username","email@mydomain.com");
ini_set("password","mypassword");
ini_set("smtp_port","25");
I have also tried port 2525, none of these work. Can someone tell me what I need to put on line 128 to fix this. Below is the mail.php file I have:
<?php
//
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt(http://www.php.net/license/2_02.txt). |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Chuck Hagenbuch <chuck@horde.org> |
// +----------------------------------------------------------------------+
//
// $Id: mail.php,v 1.20 2007/10/06 17 chagenbu Exp $
/**
* internal PHP-mail() implementation of the PEAR Mail:: interface.
* <USERMENTION username="package">@package</USERMENTION> Mail
* <USERMENTION username="version">@version</USERMENTION> $Revision: 1.20 $
*/
class Mail_mail extends Mail {
/**
* Any arguments to pass to the mail() function.
* <USERMENTION username="var">@var</USERMENTION> string
*/
var $_params = '';
/**
* Constructor.
*
* Instantiates a new Mail_mail:: object based on the parameters
* passed in.
*
* <USERMENTION username="param">@param</USERMENTION> array $params Extra arguments for the mail() function.
*/
function Mail_mail($params = null)
{
// The other mail implementations accept parameters as arrays.
// In the interest of being consistent, explode an array into
// a string of parameter arguments.
if (is_array($params)) {
$this->_params = join(' ', $params);
} else {
$this->_params = $params;
}
/* Because the mail() function may pass headers as command
* line arguments, we can't guarantee the use of the standard
* "\r\n" separator. Instead, we use the system's native line
* separator. */
if (defined('PHP_EOL')) {
$this->sep = PHP_EOL;
} else {
$this->sep = (strpos(PHP_OS, 'WIN') === false) ? "\n" : "\r\n";
}
}
/**
* Implements Mail_mail:() function using php's built-in mail()
* command.
*
* <USERMENTION username="param">@param</USERMENTION> mixed $recipients Either a comma-seperated list of recipients
* (RFC822 compliant), or an array of recipients,
* each RFC822 valid. This may contain recipients not
* specified in the headers, for Bcc:, resending
* messages, etc.
*
* <USERMENTION username="param">@param</USERMENTION> array $headers The array of headers to send with the mail, in an
* associative array, where the array key is the
* header name (ie, 'Subject'), and the array value
* is the header value (ie, 'test'). The header
* produced from those values would be 'Subject:
* test'.
*
* <USERMENTION username="param">@param</USERMENTION> string $body The full text of the message body, including any
* Mime parts, etc.
*
* <USERMENTION username="return">@return</USERMENTION> mixed Returns true on success, or a PEAR_Error
* containing a descriptive error message on
* failure.
*
* <USERMENTION username="access">@access</USERMENTION> public
*/
function send($recipients, $headers, $body)
{
if (!is_array($headers)) {
return PEAR:('$headers must be an array');
}
$result = $this->_sanitizeHeaders($headers);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
// If we're passed an array of recipients, implode it.
if (is_array($recipients)) {
$recipients = implode(', ', $recipients);
}
// Get the Subject out of the headers array so that we can
// pass it as a seperate argument to mail().
$subject = '';
if (isset($headers)) {
$subject = $headers;
unset($headers);
}
// Also remove the To: header. The mail() function will add its own
// To: header based on the contents of $recipients.
unset($headers);
// Flatten the headers out.
$headerElements = $this->prepareHeaders($headers);
if (is_a($headerElements, 'PEAR_Error')) {
return $headerElements;
}
list(, $text_headers) = $headerElements;
// We only use mail()'s optional fifth parameter if the additional
// parameters have been provided and we're not running in safe mode.
if (empty($this->_params) || ini_get('safe_mode')) {
$result = mail($recipients, $subject, $body, $text_headers);
} else {
$result = mail($recipients, $subject, $body, $text_headers,
$this->_params);
}
// If the mail() function returned failure, we need to create a
// PEAR_Error object and return it instead of the boolean result.
if ($result === false) {
$result = PEAR:('mail() returned failure');
}
return $result;
}
}
?>