когда я пытаюсь отправить почту с сервера, возникает фатальная ошибка?

это мой почтовый скрипт, пытающийся отправить почту с моего сервера.

<?php
$subject = 'This is an HTML email.';
$smtp_server = 'smtp.mydomain.com';
$from = $smtp_username = '[email protected]';
$smtp_password = 'mypassword';
$html = 'This is an <strong>HTML</strong> <i>formatted</i> email!';
$text = strip_tags($html);
$to = '[email protected]';
//$cc = array('[email protected]');
//$bcc  array('[email protected]', '[email protected]');

// send the message
$result = sendMail($subject, $smtp_server, $smtp_username, $smtp_password, $html, $text, $to);

// check to see if the message was sent properly
if ($result !== true) {
    echo 'There was an error sending the message. ('.$result.')';
} // end if the message was not sent properly
else {
    echo 'Message sent successfully.';
} // end else the message was sent properly


?>

Когда я пытаюсь запустить этот скрипт на своем сервере godaddy, я получаю фатальную ошибку: Неустранимая ошибка: вызов неопределенной функции sendMail() в /home/content/99/7916299/html/EMRXXX/EMRnew/Patient/sendmail1.php on строка 13

Заранее спасибо, Рамзай.


person ramsai    schedule 28.05.2012    source источник
comment
взгляните на pear.php.net/Mail, он очень прост в использовании   -  person Gntem    schedule 28.05.2012


Ответы (4)


Неустранимая ошибка: вызов неопределенной функции sendMail()

Означает, что вы забыли включить свою пользовательскую функцию sendMail(). Потому что нет родной функции php sendMail()...

Вы должны использовать собственную функцию mail() и настроить свой сервер для использования sendmail ( smtp) в вашем файле php.ini:

mail($to,$subject,$content,$headers);

person Lawrence Cherone    schedule 28.05.2012
comment
У Лоуренса Чероне есть верная информация. Пара других моментов, которые помогут настроить правильный сервер для отправки электронной почты с виртуального хостинга Go Daddy: relay-hosting.secureserver.net. Вам нужно будет заменить это в строке: $smtp_server = 'smtp.mydomain.com'; Кроме того, вам не нужно ни имя пользователя, ни пароль для подключения к серверу ретрансляции Go Daddy. - person Mike_GoDaddy; 30.05.2012

Нет 1. вы можете использовать нативную функцию PHP, называемую mail(). подробнее http://www.w3schools.com/php/php_mail.asp

здесь вы должны настроить детали SMPT в файле php.ini, или вы можете перезаписать его из своего кода.

Нет 2. Используйте библиотеку PHPMailer. Очень легко интегрируется. вы можете получить его с http://code.google.com/a/apache-extras.org/p/phpmailer/

person pinaldesai    schedule 28.05.2012

Вы включили некоторую библиотеку php, которая поддерживает sendmail?

Если вы пытаетесь использовать команду ОС sendmail, это не сработает.

Почтовая функция PHP не рекомендуется, поэтому используйте что-то вроде PHPMailer.

person Ahatius    schedule 28.05.2012
comment
Всем большое спасибо у меня все заработало спасибо большое - person ramsai; 30.05.2012

Вам нужно найти файл php, в котором написано определение метода sendMail, а затем включить его. Если случайно он находится в том же каталоге, просто добавьте эту строку сверху

require_once 'sendmail.php' ;
person Mr Coder    schedule 28.05.2012
comment
любезно понизить рейтинг с некоторым конструктивным ответом - person Mr Coder; 28.05.2012