You are here: Re: Problem with sending of password reminder emails « PHP Programming Language « IT news, forums, messages
Re: Problem with sending of password reminder emails

Posted by Jerry Stuckle on 11/22/05 16:36

splicemix wrote:
> 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.'));
> }
>

Like your message says - something on mail.php line 20 caused output to
be sent the browser. It could be a blank line, for instance.

Fix that and it should work - or at least go onto the next line.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

 

Navigation:

[Reply to this 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

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