Reply to Problem with sending of password reminder emails

Your name:

Reply:


Posted by splicemix on 11/22/05 16:01

Hi all,

I have recently set up a Drupal website. I am a beginner. My shared
host server does not allow nobody@localhost to send emails, and
prevents access to php.ini, so I spent some time getting a SMTP script
running. While the Drupal feedback module and the new account creation
works fine in terms of sending of mails, I am having some problems with
the sending of password reminder emails.

warning: Cannot modify header information - headers already sent by
(output started at
/home/affyorg/public_html/cancer/content/mail.php:20) in
/home/affyorg/public_html/cancer/content/includes/common.inc on line
192.

Your advice would be appreciated. Thanks!!

My mail.php file is as follows:
<?
include("Mail.php");
$recipients = $mail;
$headers["To"] = $mail;
$headers["From"] = "abc@xyz.org";
$headers["Subject"] = $subject;
$body = str_replace("\n", "\r\n", $message);
$params["host"] = "mail.xyz.org";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "abc@xyz.org";
$params["password"] = "defgh";
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);
$mail_object->send($recipients, $headers, $body);
?>

Line 189 - 192 of common.inc is

// Before the redirect, allow modules to react to the end of the page
request.
module_invoke_all('exit', $url);

header('Location: '. $url);

The Drupal user.module has the following code for password reminders

// Mail new password:
$variables = array('%username' => $account->name, '%site' =>
variable_get('site_name', 'drupal'), '%password' => $pass, '%uri' =>
$base_url, '%uri_brief' => substr($base_url, strlen('http://')),
'%mailto' => $account->mail, '%date' => format_date(time()),
'%login_uri' => url('user', NULL, NULL, TRUE), '%edit_uri' =>
url('user/'. $account->uid .'/edit', NULL, NULL, TRUE));
$subject = _user_mail_text('pass_subject', $variables);
$body = _user_mail_text('pass_body', $variables);
$headers = "From: $from\nReply-to: $from\nX-Mailer:
Drupal\nReturn-path: $from\nErrors-to: $from";
$mail_success = user_mail($account->mail, $subject, $body,
$headers);

if ($mail_success) {
watchdog('user', t('Password mailed to %name at %email.',
array('%name' => theme('placeholder', $account->name), '%email' =>
theme('placeholder', $account->mail))));
drupal_set_message(t('Your password and further instructions have
been sent to your e-mail address.'));
}
else {
watchdog('user', t('Error mailing password to %name at %email.',
array('%name' => theme('placeholder', $account->name), '%email' =>
theme('placeholder', $account->mail))), WATCHDOG_ERROR);
drupal_set_message(t('Unable to send mail. Please contact the
site admin.'));
}

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация