- Контактна форма за вашия сайт
- Модерна контактна форма
- Изпращане на E-Mail от XAMPP под Windows
- GMail SMTP Сървър за WordPress
Разумно е тези неща да бъдат задвижени под *nix операционна система, заради повишената сигурност, липса на вируси и прочие важни неща. Моите предпочитания за такава система лежат на Ubuntu. Тя ползва ядро на Linux, интуитивна е, споделя се е от огромно общество в интернет.
За целта инсталирах LAMP в Ubuntu Desktop 10.04 LTS, за да провеждам тестове на отделни скриптове. В последствие ще ги пренеса на Ubuntu Server 10.04 LTS.
Ubuntu Server има минимални изисквания:
- 300 MHz x86 processor
- 128MB of system memory (RAM)
- 1GB of disk space
- Graphics card and monitor capable of 640x480
- CD-ROM drive
Функцията phpinfo() ми върна този резултат:
Параметър | Значение |
PHP Version | 5.3.2-1ubuntu4.7 |
System Linux | ubuntu 2.6.32-28-generic |
Apache Version | Apache/2.2.14 (Ubuntu) |
Hostname:Port | 127.0.1.1:80 |
HTTP_HOST | localhost |
Configuration File (php.ini) Path | /etc/php5/apache2 |
Loaded Configuration File | /etc/php5/apache2/php.ini | Scan this dir for additional .ini files | /etc/php5/apache2/conf.d |
PHP_SELF | /index.php |
_SERVER["SCRIPT_FILENAME"] | /var/www/index.php |
MySQL client version: | 5.1.41 |
Сайтът е издигнат на основа HTML+CSS+jQuery и е постигнат по начина описан в тема: Направа на сайт чрез CSS.
Отказах се от CMS (система за управление на съдържанието), защото са тежки, лакоми, често искат обновления и са обект на хакерски атаки. Считам, че не е оправдано ползването им в случая, а отделно самописен сайт говори точно за вашите умения и това му придава по-голяма тежест.
Първите пет страници са статични и в тях няма нищо интересно. Важна става Контакти. Там трябва скрипт, който да обработи заявката за изпращане на писмо.
Сайтът се намира в каталог /var/www/сайт. Функцията phpmail() е включена (често тази функция е изключена на безплатните хостове). Опит да изпратим писмо завършва с върнат резултат - error. Проблемът е, че няма пощенски трансфер, той не е организиран и конфигуриран.
инсталация на sendmail
Настройка php.ini
намираме и редактираме следния ред
Реших да се доверя отново на GMail. Тази поща за поредна година обира овации. Преглед на нещата сведоха до инсталация на Exim4. Exim4 e MTA, което се превежда пощенски трансферен агент. На него му е необходим външен smtp - сървър, за да се доведат нещата до край. Всичко се свежда до инсталация и конфигурация на Exim4.
Инсталация на Exim4
Намираме файл /etc/exim4/update-exim4.conf.conf и го редактираме (с root права и редактор). По този начин указваме, че Gmail e пощенския сървър.
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='ubuntu'
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com::587'
В файла за авторизация /etc/exim4/passwd.client добавяме следните редове (заменяме значения за логин и за парола с своите вместо my_name и password съответно)
*.google.com:my_name@gmail.com:password
smtp.gmail.com:my_name@gmail.com:password
За да влязат нещата в сила изпълняваме следната команда:
С това настройката завършва и Exim4 изпраща писма, чрез GMail.
Обратно в страница Контакти и пробвам формата. Тя рапортува успешно. На мига получих писмото в пощата си.
Super AJAX Contact Form
Тук следва забавна част. Всички процедури описани горе спокойно може да се пропуснат, защото безплатната Super AJAX Contact Form ги носи в себе си, чрез файл email.class.php. Тази форма ми стана фаворитна.
Тя е написана на PHP и AJAX. Има капча валидатор и е подсигурена срещу спам-ботове. Настройката и се свежда до запълване на няколко полета.
Редактирайте файл config.php. За да сработи GMail, нещата изглеждат така:
<smtp>
<!-- smtp gmail config -->
<use>yes</use>
<auth>yes</auth>
<secure>tls</secure>
<host>smtp.gmail.com</host>
<username>my_name@gmail.com</username>
<password>123456</password>
<port>587</port>
</smtp>
<charset>utf-8</charset>
Тест с произволен текст ...
до нови срещи ^.^
Честита Баба Марта!
Здраве и още много срещи ;)