Я новичок в PHP, но имею достойное понимание вещей (еще не изучил классы).
Вопрос:
Что выбрать? PHPMailer или mail () для моей новой контактной формы.
Форма проста:
Your name: Your email: Subject: Body:
У меня около 2000 посетителей в день, и я получаю около 10 представлений в день, поэтому мне не нужно ничего необычного. знак равно
Разные вопросы в голове:
anti-spambot display:none CSS
трюк anti-spambot display:none CSS
. email_validator()
? Благодаря! Если повезет, я скоро отвечу на вопросы. Лол
Вот все, о чем я мог подумать за один присест, простите меня, если есть какие-то вопиющие упущения.
Преимущества использования встроенной функции почты PHP, без внешней библиотеки / оболочки:
Преимущества использования внешней библиотеки / оболочки:
$message->addAttachment($file);
без необходимости играть с заголовками и т. д. Если я смогу придумать что-нибудь еще, я обязательно добавлю его.
Возможно, это не ответит на все ваши вопросы, но это тоже не повредит, я думаю …
Независимо от того, что вы хотите сделать, я бы не пошел с mail()
: отправка почты не такая простая задача, и использование существующей библиотеки / рамки всегда будет хорошей идеей: она решит многие проблемы, которые вы, вероятно, даже не подумали о – даже если вам не нужно отправлять много писем.
О ваших конкретных вопросах, возможно, другие ответы скажут что-то еще и / или получите больше информации, но любая «хорошая» библиотека, созданная для отправки писем, должна иметь дело с такими проблемами … Иначе вы, вероятно, должны искать другую библиотеку ^ ^
Тем не менее, тестирование нескольких немых не-адресов позволит вам быть на 100% уверенным 😉
Еще одно решение – быть уверенным в том, чтобы проверить источник библиотеки 😉
В источнике версии 2.2.1 вы найдете следующее:
class.phpmailer.php
, функция AddAnAddress
, строка 413, вы увидите следующее:
if (!self::ValidateAddress($address)) { $this->SetError($this->Lang('invalid_address').': '. $address); if ($this->exceptions) { throw new phpmailerException($this->Lang('invalid_address').': '.$address); } echo $this->Lang('invalid_address').': '.$address; return false; }
И, похоже, эта функция используется другими функциями, которые добавляют адрес … Итак, я полагаю, что есть какая-то проверка адресов электронной почты 😉
Это ответит хотя бы на один из ваших вопросов ^^
PHPMailer – не единственное решение, которое существует, btw; есть много других, например, например:
Как отметил Паскаль МАРТИН, отправка электронной почты не так проста и проста, как некоторые люди просто предполагают, что это так. Чтобы ответить на ваши вопросы напрямую. Да PHPMailer делает некоторую проверку, но он не супер-продвинутый, но должен быть достаточным для ваших целей. И PHPMailer сэкономит вам некоторое время в зависимости от того, какие пользовательские функции вам понадобятся. Некоторые вещи, которые следует учитывать:
В дополнение к простому PHPMailer Zend_Mail – это хорошая возможность проверить (это часть Zend Framework ). Однако это может быть немного для простой контактной формы.
PHPMailer – мой выбор, потому что он позволяет отправлять SMTP-сообщения в Google без установки каких-либо библиотек или настройки почтового сервера, поэтому мне не нужно беспокоиться о проблемах, связанных с спамом.