PHP отправляют почту на окнах, заставляющих это 'зависнуть' после отправки электронного письма

Это немного странно, но это работает:

ClassMetadata hibernateMetadata = sessionFactory.getClassMetadata(pClassName);

if (hibernateMetadata == null)
{
    return;
}

if (hibernateMetadata instanceof AbstractEntityPersister)
{
     AbstractEntityPersister persister = (AbstractEntityPersister) hibernateMetadata;
     String tableName = persister.getTableName();
     String[] columnNames = persister.getKeyColumnNames();
}
5
задан Dave 27 August 2009 в 18:52
поделиться

4 ответа

извиняюсь за то, что так долго не отвечал на этот вопрос. Проблема была вызвана брандмауэром в офисе, блокирующим исходящий SMTP-трафик. Я до сих пор не уверен, почему он ничего не вернул, но за пределами этого офиса, когда он был протестирован, ошибки php для недопустимого smtp и т. Д. Вернулись нормально. Просто случай, когда в сети разрешены соответствующие порты.

Спасибо всем за помощь.

0
ответ дан 15 December 2019 в 06:31
поделиться

Похоже, вы получаете сообщение об ошибке, но просто не видите ее. Убедитесь, что это где-то в вашем коде

ini_set( 'display_errors', 1 );
error_reporting( E_ALL );

И проверьте журналы Apache на наличие 500 ошибок.

1
ответ дан 15 December 2019 в 06:31
поделиться

У PHP есть собственный журнал ошибок, в случае сомнений проверьте его. Вы можете найти его, запустив

<?php
phpinfo();
?>

. Он должен находиться в разделе PHP Core - если он пуст, отредактируйте файл php.ini и включите log_errors и укажите где вы хотите разместить файл.

Ошибки, которые мне не удалось отобразить, я обнаружил с помощью этого.

ОБНОВЛЕНИЕ

Покопался, и кажется, что Zend_Mail по сути является оболочкой для почты PHP () согласно документации: http://framework.zend.com/manual/en/zend.mail.html

Имея это в виду, в руководстве по PHP есть некоторая информация о функции PHP mail (), которую вы мы собираемся посмотреть на SendMail http://www.php.net/manual/en/ref.mail.

1
ответ дан 15 December 2019 в 06:31
поделиться

Я успешно использую phpmailer в окнах (моя машина разработчика). Могу я увидеть код установки? Я делаю что-то подобное ниже. Во-первых, вам нужно убедиться, что модуль openssl установлен на php, если вы используете ssl. Взгляните на ниже. Убедитесь, что для вашего флага SMTPDebug установлен вывод, с которым вы можете работать.

<?php

$mail             = new PHPMailer();

$mail->IsSMTP();
$mail->Host       = "blah.com";
$mail->SMTPDebug  = 1;
$mail->SMTPAuth   = true;
$mail->SMTPSecure = "ssl";
$mail->Host       = "mail.blah.com";
$mail->Port       = 465;
$mail->Username   = "noreply@blah.com";
$mail->Password   = "smtppass";

$mail->SetFrom('noreply@blah.com', 'Blah Name');
$mail->AddReplyTo("noreply@blah.com", "Blah Name");
$mail->Sender = "noreply@blah.com"

?>
1
ответ дан 15 December 2019 в 06:31
поделиться