Я использую этот очень крошечный код, чтобы проверить, доходит ли электронное письмо до адресата электронной почты:
<?php mail('woodsy013@hotmail.com','Test mail','The mail function is working!'); echo 'Mail sent!'; ?>
Но он, похоже, не работает. Я использую WAMP. Я установил бесплатный SMTP-сервер. И мой файл php.ini настроен на следующее:
[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.tools.sky.com ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = you@yourdomain
Кажется, я не получаю письмо по адресу woodsy130@hotmail.com, следуя указанным выше действиям.
Я получаю эту ошибку:
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. ff2sm10904265wib.9 in C:\wamp\www\Derrysgc2\pages\pages\mailtest.php on line 2
Какие-либо предложения?
Попробуйте использовать SMTP-сервер с gmail.
ini_set("SMTP","ssl://smtp.gmail.com"); ini_set("smtp_port","465");
или же существует много почтовых библиотек PHP. что упрощает вам работу и упрощает ее использование. мой fav – быстрая почта. самая лучшая часть – вам не нужно возиться со своим основным файлом конфигурации php, и документация тоже очень легко читается.
например, если вы хотите отправить почту с помощью быстрой библиотеки почтовых программ PHP, это так просто.
require_once 'lib/swift_required.php'; // Create the Transport $transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25) ->setUsername('your username') ->setPassword('your password'); // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); // Create a message $message = Swift_Message::newInstance('Wonderful Subject') ->setFrom(array('john@doe.com' => 'John Doe')) ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name')) ->setBody('Here is the message itself'); // Send the message $result = $mailer->send($message);
вы можете сослаться на документацию для получения дополнительной информации на официальном сайте http://swiftmailer.org/docs
Не следует ли SMTP указывать на ваш SMTP-сервер? (Я предполагаю, что ваш поставщик услуг smtp.tools.sky.com). Также sendmail_from должен быть правильным адресом электронной почты.
Также обратите внимание, что некоторые почтовые генераторы блокируют электронную почту, отправленную с динамических адресов ip.