Intereting Posts
как отправить push-уведомление с помощью phonegap и parse как я могу получить все опции в нескольких вариантах, используя PHP? Попытка повторить строку в синтаксисе MySQL, получить синтаксическую ошибку Как отсортировать многомерный массив с помощью определенного ключа? Музыкальное распознавание и обработка сигналов array merge и total, если это те же ключи Как преобразовать строку utf-8 в строку utf-16 в PHP Вставка производительности node-mongodb-native Очень высокая задержка в первом HTTP-запросе проекта CodeIgniter Есть ли способ распаковать файлы .Z с помощью php? извлекать теги (слова) из цельной строки PHP для заполнения всех букв (в том числе после косой черты), за исключением определенных слов Наследование класса PHP для начинающих strip_tags () … заменять теги пробелом, а не удалять их как остановить множественный вход пользователя с тем же адресом электронной почты и паролем, как только пользователь уже зарегистрировался

Mail () с php

Я хочу написать сценарий, автоматически отправляющий электронную почту моему клиенту, используя php

Как я могу отправить его автоматически, например, если они введут свой адрес электронной почты. и нажмите кнопку Отправить

я хочу отправить это электронное письмо автоматически

И, во-вторых, нужен ли мне smtp-сервер на моем хосте? Могу я просто это сделать на любом бесплатном хостинге?

Спасибо вам, ребята, и им так жаль мой язык

Nikky

Solutions Collecting From Web of "Mail () с php"

Я, вероятно, не стал бы использовать функцию mail напрямую: слишком много вещей, о которых вам нужно заботиться …

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

Один из них (который, кажется, имеет некоторый успех в настоящее время – он интегрирован в инфраструктуру Symfony, например) – Swift Mailer .

Конечно, это может быть немного излишним для простой почты … Но вкладывать время в изучение того, как использовать такую ​​библиотеку, всегда стоит 😉

PHP не реализует SMTP-протокол (RFC 5321) или IMF (RFC 5322), или MIME, например, Python. Вместо этого – у всего PHP есть простая оболочка C вокруг sendmail MTA.

Однако – со всеми его недостатками – все же можно создавать сообщения mime (multipart / alternative, multipart / mixed и т. Д.) И отправлять html и текстовые сообщения, а также прикреплять файлы, используя функцию mail () по умолчанию PHP. Проблема в том, что это не просто. В конечном итоге вы будете обрабатывать все сообщения, используя аргумент «headers» mail (), а параметр «message» – «». Кроме того, отправка электронной почты в цикле через почту PHP () будет производительностью, поскольку mail () открывает новое соединение smtp для каждого нового сообщения электронной почты.

 /**sending email via PHP's Mail() example:**/ $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); 

Из-за этих ограничений большинство людей в конечном итоге используют сторонние библиотеки, такие как:

  1. PHPmailer ( скачать )
  2. Swiftmailer
  3. Zend_Mail

Используя эти библиотеки, вы можете легко создавать текстовые или html-сообщения. Добавление файлов также становится легкой задачей.

 /*Sending email using PHPmailer example:*/ require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->From = "from@example.com"; $mail->FromName = "Your Name"; $mail->AddAddress("myfriend@example.net"); // This is the adress to witch the email has to be send. $mail->Subject = "An HTML Message"; $mail->IsHTML(true); // This tell's the PhPMailer that the messages uses HTML. $mail->Body = "Hello, <b>my friend</b>! \n\n This message uses HTML !"; $mail->AltBody = "Hello, my friend! \n\n This message uses HTML, but your email client did not support it !"; if(!$mail->Send()) // Now we send the email and check if it was send or not. { echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; } 

ТАКЖЕ: Q: нужен ли мне smtp-сервер на моем хосте? Могу я просто это сделать на любом бесплатном хостинге? О: на любом общедоступном хостинге теперь есть SMTP-сервер (sendmail / postfix).

Использование встроенной функции mail () не является хорошей идеей в большинстве случаев. Так что да, используйте SwiftMailer или:

http://phpmailer.worxware.com/ – PhpMailer, который во многих смыслах является аналогичной реализацией.