Проблема с ГРУШЕВОЙ почтой PHP

Я пытаюсь использовать ГРУШЕВУЮ Почту для отправки использования внешнего smtp сервера. Это, кажется, зависает некоторое время, затем концы сценария. Это производит все мои операторы "эха" до того после отправления. Ничто не производится мимо эха, которое говорит, "прежде чем отправят". Кто-либо может сказать мне, что могло бы быть неправильным здесь? (фиктивные значения, которыми заменяют значения smtp). Почта не отправляется. Спасибо за помощь!

echo "start";
$n = $_POST['txtName'];
$e = $_POST['txtEmail'];
$t = 'Kenny <email@host.com>';
$f = 'Kenny <email@host.com>';
$s = 'CPA TEST';
$b = "name: $n email: $e"; 

include("mail.php");
echo "after include";
/* mail setup recipients, subject etc */
$recipients = $t;
$headers["From"] = $f;
$headers["To"] = $t;
$headers["Subject"] = $s;
$mailmsg = $b;
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "my_smtp_host";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "my_email";
$smtpinfo["password"] = "my_password";
echo "before object";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
echo "before send";
/* Ok send mail */
$send = $mail_object->send($recipients, $headers, $mailmsg);
echo "after send";
if (PEAR::isError($send)) { print($send->getMessage());}else{print "end";} 
echo "done";
16
задан Kenny 17 February 2010 в 21:15
поделиться

1 ответ

Попробуйте следующее, чтобы убедиться, что ваша почта работает:

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>

Если это не работает, вам нужно проверить конфигурацию PHP.

Смотрите http://php.net/manual/en/function.mail.php для получения дополнительной информации.

5
ответ дан 30 November 2019 в 15:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: