Електронно писмо може да се изпрати по три начина:
- Sendmail
- PHP Mail Function
- SMPT Server
При останалите варианти си усложнявате живота с допълнителни инсталации и настройки, най-вече подсилвате уязвимостта на вашия Windows.
XAMPP 1.7.3 on Windows
Joomla! 1.15.21
WordPress 3.0.1
Joomla! контактна форма
Моята фаворитна система за управление на съдържанието (CMS) е Joomla!. Тя е PHP скрипт, позволяващ издигане на сайт моментално. Остава само да напълните вашето съдържание. В разгледания пример, тя е задвижвана от XAMPP 1.7.3 под Windows.Организацията на контактна форма преминава следните стъпки:
- Създаваме категория за целта (Components > Contacts > Categories), да речем "Контактна форма". Съхраняваме измененията.
- Добавяме контактна форма за вашия Joomla!-сайт (Components > Contacts), чрез бутон New, под име "Contact Us". Съхраняваме измененията.
- Следва да посочим в менюто пътя към контактна форма. За целта добавяме нов пункт в текущото меню. В моя случай това е главното меню на сайта (Main Menu*). Преминаваме следния път Menu > Main Menu* .Добавяме чрез бутон New. В момента на добавяне се отворя прозорец Change Menu Item (виж снимката долу) и посочваме пътя до създадената контактна форма. Запълваме съответните празни полета и съхраняваме измененията.
Mailer SMPT Server
SMTP Authentication Yes
SMTP Security SSL
SMTP Port 465
SMTP Username my_google_acount@gmail.com
SMTP Password my_password
SMTP Host smtp.gmail.com
Съхраняваме измененията.
Остана да си вземем наградата от положения труд. Запълваме контактната форма на Joomla! с примерно писмо и изпращаме.
Joomla! рапортува ОК. Писмото е изпратено успешно.
То е изпратено на адреса на администратора (според условието за стандартна контактна форма), посочен при инсталация на Joomla! или променен в последствие в потребителския профил на същия.
Писмото е пристигнало успешно и има следния вид. То пристига с минута закъснение.
Затова обичам Joomla!, защото работи от раз и е достатъчно, да я извадиш от кутийката.
Настройка на XAMPP 1.7.3 под Windows
Разни хора - разни сайтове и това значи разни от Joomla!. При разните хора проблемът е налице. Опит, да изпратят писмо от XAMPP под Windows остава неуспешен. Причина за това е конфигурацията на XAMPP. Този пакет е замислен да проследява динамични сценарии в самата система и едва ли да се ползва като хост - сървър. Безбройните вируси за Windows са причината. Но все пак ако вървим напред, нещата се свеждат до редакции на два файла, според нашите условия.Първият файл е php.ini. Отворете го с текстови редактор. Той се намира в следната директория и променете съдържанието му в пункт [mail function]. Измененията са посочени в тъмно-синьо.
C:\xampp\php\php.ini
SMTP = localhost > SMTP = smtp.gmail.com
smtp_port = 25 > smtp_port = 587
;sendmail_from = postmaster@localhost > sendmail_from = my_google_acount@gmail.com
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" > sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Вторият файл е sendmail.ini. По същия начин редактирайте и него. Той се намира в следната директория .
C:\xampp\sendmail\sendmail.ini
# Set default values for all following accounts.
defaults
logfile "C:\xampp\sendmail\sendmail.log"
# Mercury
#account Mercury
#host localhost
#from postmaster@localhost
#auth off
# A freemail service example
#account Hotmail
#tls on
tls_certcheck off
#host smtp.live.com
#from [exampleuser]@hotmail.com
#auth on
#user [exampleuser]@hotmail.com
#password [examplepassword]
# Set a default account
По аналогия на примера с Hotmail, копираме съдържанието. Разкоментираме (премахваме символ #) редовете, за да станат изпълними и вписваме нашите данни относно Google. Рестартираме Apache и се радваме на новата придобивка.
WordPress контактна форма
Не крия, че другата ми слабост е WordPress. Тази безплатна система държи близо половината от пазарния дял сред посестримите си и това обяснява моя интерес към нея. За разлика от Joomla!, WordPress се инсталира без контактна форма. Тя трябва да се добави. Предложенията за такава изобилстват от варианти, но в повечето случа това са "plugins".Всеки добавен plugin в WordPress носи два минуса. На практика plugin-ът е php - скрипт, които изисква допълнителен ресурс от рам-памет и в един момент, при поредна инсталация на следващ plugin, ви посреща неприятно съобщение, че не разполагате с налична памет. Бъдете разумни при добавянето им.
Вторият минус бие по безопасността на системата, защото автора може да е недоогледал кода и по този начин оставил вратичка за злоумишленици.
Как се инсталира контактна форма в WordPress без plugin?
С помощта на добрия стар HTML, например. Изтеглете Flash and PHP contact form. От този ресурс вашата форма ще изглежда така.От изтегления архив ви трябват файл - form.swf и файл - mailer.php.
Отворете с текстови редактор mailer.php и намерете "email@yourserver.com". Заменете го с вашия пощенски адрес и съхранете измененията.
Създайте каталог "contact" в вашия WordPress-сайт в /wp-content/plugins/* (тук е традиционното място на всички допълнения за WordPress). В този каталог добавете form.swf и mailer.php. Готово, половината работа е свършена. Като превантивна мярка, можете да добавите празен index.html - файл или да забраните в .htacsess разглеждане на каталога.
Влезте в админ-панела на вашия WordPress - сайт и преминете път Pages > Pages. Чрез бутон Add New създайте нова страница "Contact", например. В редактора на появилия се прозорец превключете в режим HTML. Копирайте кода показан долу в вашата страница и съхранете измененията с бутон Update.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="300" height="302" id="form" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="./wp-content/plugins/contact/form.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed src="./wp-content/plugins/contact/form.swf" quality="high" bgcolor="#ffffff" width="300" height="302" name="form" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>
Готово. Добавихте контактна форма в вашия сайт. Ако желаете да промените езика от английски на друг, ще се наложи редакция на файл - form.fla, което не е предмет на темата тук.
Конкурент на флаш - технологията са java-скриптовете и те неотстъпват по отношение на интерактивността и дизайнерския замисъл, още повече, че на домашния хост няма да сме ограничени от към памет. Ефектно представяне на контактна форма предлага SimpleModal Contact Form.
Нещата около нея са традиционни за инсталацията на plugin в WordPress. Изтегляме споменатата форма. Добавяме я в каталог /wp-content/plugins/* на нашия WordPress - сайт.
Съхраняваме измененията и създаваме нова празна страница (по аналогия на флаш контактната форма). За име на страницата задаваме "Contact", например. Това име ще се извежда на менюто, преминавайки към контактната форма.
Активираме plugin-а от админ-панела. В панел Settings се добавя нов раздел - SimpleModal Contact Form. Преминавайки в SimpleModal Contact Form Configuration, извършваме настройка на формата по свой вкус. В първи пункт Contact Link URL: посочваме отговор /Contact, а за Contact Link Title: Contact.
За извеждането на формата се използва хипер-връзка с клас "smcf-link". На практика това дава възможност в произволно място от сайта, да се добави бутон, активиращ формата с код:
Контакт
Ако посетителя е изключил поддръжката на JavaScript, той ще премине към адрес, указан в параметър «href».
На практика нещата изглеждат така:
Контактна форма за самописен сайт
Нещата не са задължителни да бъдат CMS. За обикновен сайт-визитка може да ползваме формата, която разгледахме в "Контактна форма за вашия сайт".Естествено продължение на темите ме подтикна да потърся по-ефектни форми. Интересът ми задържа LightForm ::: Free Ajax/PHP Contact Form.
Тя комбинира FormCheck2 за валидация и NiceForms за стилизация. От страницата на автора разбираме, че е спряна поддръжката на формата.
За настройка отворете файл contact.php. Спуснете се на ред 55 и посочете вашия адрес в # $to = 'yourname@domain.com';.
На практика нещата изглеждат така:
до нови срещи ^.^
Ой, най-сетне ме логна да ти пиша коментарче. Искрено казано нямам време да прочета настоящата тема, но пък всяка предишна ми е представлявала огромен интерес. Аз съм онуй дръпнатото, което като куче върти опашка когато припари до вълнуващите ти истории. Виждам, че тук насоките са по-скоро практични, но като намеря време (това обещание май ми стои отдавна) ще потъна със задоволство в пречупеният от фина и откровена бруталност поглед на снизходителната ти непоколебимост. Оксиморон е, сигурно защото колкото повече те чета, толкова повече ми става ясно, как не те познавам и не си ми ясен. Ясните неща не са интересни, те са просто тривиални. Или прости.
Радвам се, че те срещам отново, както мога да се радвам когато срещна стар приятел. Благодаря ти за споделеното и... лека вечер.
благодарско за обясненията за XAMPP под Windows беше ми много полезно