когато се опитвам да изпратя имейл от сървър, получавам фатална грешка?

това е моят пощенски скрипт, който се опитва да изпрати поща от моя сървър.

<?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 на ред 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