Испраќање е-пошта преку smtp со php авторизација. Испраќање пошта преку SMTP во PHP. Испраќање php пошта преку поставување на скрипта SMTP

Испратете пошта PHP

Оваа функција стандардно се имплементира како испраќање е-пошта. Оваа функционалност не бара сервер од трета страна за препраќање е-пошта. За да ја проверите исправноста на оваа функција, само креирајте тест.php датотека во папката со страницата и ставете го следниов код таму:

Каде наместо тоа "EMAILПРИМАТЕЛ" Внесете ја е-поштата на која треба да се испрати писмото.

Место оваа датотекаво коренот на вашата страница.

Следно, внесете www.YourDomain/test.php во лентата за адреси. Ако писмото е примено на наведената е-пошта, тогаш вашиот хостинг работи правилно со функцијата за испраќање писма " Испратете пошта PHP". Можно е писмото да завршило во спам, па затоа исто така треба да се провери.

Ако писмото пристигнало во неразбирливо кодирање, сменете ја линијата: "Проверка на испраќање пошта"на "Проверувам испраќање пошта", "Content-type:text/html;charset=utf-8".

И повторете го испраќањето на писмото преку лентата за адреси на вашиот прелистувач.

Ако по горенаведените манипулации тест писмото не стигне до крајниот примач, мора да ја контактирате вашата техничка поддршка за хостирање.

Меѓу недостатоците овој методВреди да се напомене дека работата не е постојана овој метод. Може да има прекини во испраќањето е-пошта на страната на хостинг.

Главниот недостаток на овој метод е што сите писма испратени до е-поштата на клиентите нема да бидат препознаени од поштенските услуги (gmail, mail.ru, yandex.ru), бидејќи тие се испратени директно од вашата веб-страница.

Услугата за пошта на Gmail ги прикажува овие букви со прашалник и потпис: „Системот на Gmail не можеше да потврди дека ова писмо е испратено од доменот YourDomain. Ова може да е спам“.

За да се избегне оваа ситуација .

SMTP (Едноставен протокол за пренос на пошта)

SMTP - протокол за пренос на пошта. Севкупно, за да поставите пренос на пошта користејќи го овој протокол, потребен ви е самиот сервер SMTP. Најчеста опција за користење на корпоративна (домен) пошта yandex.ru како SMTP сервер е https://pdd.yandex.ru/.

Пред сè е неопходно сметка (пошта) yandex, врз основа на кои ќе се креираат е-пошта за вашиот домен: „order@YourDomain“ „info@YourDomain“... Главната сметка нема да биде видлива никаде и се користи само за креирање е-пошта на домен врз основа на неа во иднина.

Откако ќе се најавите на вашиот лична сметкаПоштата на доменот Yandex се креира со помош на врската https://pdd.yandex.ru/. Ова е е-поштата на доменот што корисниците ќе ја видат во полето „Испраќач“.

Полето „Испраќач“ е потребно при испраќање е-пошта преку SMTP. Користење на SMTP за испраќање букви, комбинација од " Домен" - "е-пошта", со што буквите се препознаваат од поштенските услуги.


Меѓу недостатоците на овој метод, вреди да се забележи неможноста да се „вчита“ портрет за пошта на домен, бидејќи самите поштенски услуги сè уште не ја обезбедуваат оваа функционалност.

2019-08-05

Здраво, драг посетител!

Простете ми за доцнењето со ажурирањето на блогот. Но, постои сосема разбирливо објаснување за ова. На крајот на краиштата, беше лето, дача, гости, шума, вода и многу повеќе, што не ми дозволи да се зафатам со прашањата за создавање веб-страница. Но, сега малку се ослободив, гостите си заминаа и мислам дека сега дефинитивно ќе можам да обрнам должно внимание на ова.

Така, откако во последната статија ја поврзавме поштата на нашиот домен со една од услугите за пошта, сега да видиме како можете да испраќате е-пошта од страницата. Покрај тоа, на таков начин што нашите писма не завршуваат во СПАМ, туку веродостојно, со висок степен на веројатност, се доставуваат до нашите примачи.

Општо земено, постои вградена функција mail() за испраќање букви во PHP. Но, треба да се забележи дека и покрај едноставноста на овој метод (во овој случај, за испраќање букви доволно е да наведете само една линија код со одредени параметри), употребата на оваа опција има значителен недостаток поврзан со проблемот на СПАМ .

Факт е дека анти-SPAM филтрите на серверите за пошта на страната на примачот навистина не ги фаворизираат писмата испратени преку функцијата mail(). И во повеќето случаи, таквите пораки се филтрираат или дури се бришат пред да стигнат до примачот.

И за да се елиминираат таквите случаи колку што е можно, обично се користи друга опција, во која се испраќаат писма како да е направено од услуга за пошта од трета страна.

Овој метод се нарекува испраќање пошта преку SMTP со овластување. Која ќе ја разгледаме денес користејќи го примерот за поднесување формулар повратни информации. Покрај тоа, за ова ќе ја користиме прилично добро познатата и популарна библиотека PHPMailer, која ви овозможува едноставно да организирате испраќање писма преку SMTP.

  • Како ќе испраќаме писма за повратни информации
  • Креирање формулар за повратни информации
  • Инсталирање на библиотеката PHPMailer
  • Ние создаваме скрипта за испраќање пошта преку SMTP
  • Проверка на испраќање е-пошта
  • Изворните датотеки на страницата

Како ќе испраќаме писма за повратни информации

Пред да започнете практична работаОткако ќе испратиме писма со повратни информации, прво ќе одлучиме како ќе го направиме тоа.

Формуларот за повратни информации е дизајниран да му овозможи на корисникот да комуницира со администраторот на страницата за да ја пренесе својата порака. Вообичаено, оваа форма се состои од неколку полиња и копче „Поднеси“.

Во принцип, за да испратите е-пошта доволно е да користите само неколку полиња кои даваат доволно информации за корисникот и содржината на пораката, како што се:

  • "Име" - за да го внесете името на испраќачот на пораката;
  • „Е-пошта“ - за адресата Е-поштаиспраќач;
  • „Предмет на пораката“;
  • „Текст на пораката“.

Иако можете да додадете други. На пример, телефонски број, ако тоа е навистина потребно.

Во нашиот случај, таквите писма ќе бидат испратени до адресата на администраторот на страницата од вистинско поштенско сандаче со овластување на услугата за пошта на која е поврзан нашиот домен.

Бидејќи во претходната статија се фокусиравме на проверка на поврзувањето на поштата на доменот со услугата Yandex.Mail, ќе испратиме пошта за оваа опција. Иако ова не е важно. Подолу ќе ги видите оние опции кои, кога ќе се променат, ќе ви овозможат да испраќате е-пошта преку сервер за пошта Mail.ru.

Како вистинско поштенско сандаче од кое ќе се испраќаат писма, ќе ја користиме сметката на новосоздаден корисник на пошта домен, да речеме со адресата [заштитена е-пошта]. И ние ќе ги испратиме овие писма до Поштенско сандачеадминистратор [заштитена е-пошта], што претходно го создадовме во претходната статија.

Така, испраќачот на писмото од формуларот за повратни информации ќе биде поштенското сандаче [заштитена е-пошта]., и примачот - [заштитена е-пошта]. Во овој случај, сите информации за корисникот кој ја испратил пораката со нејзината содржина ќе бидат пренесени во телото на испратеното писмо.

Креирање формулар за повратни информации

Откако ќе одлучиме за постапката за испраќање писма, сега ќе креираме формулар за повратни информации со кој ќе го направиме тоа.

Подолу е HTML-кодот за оваа форма, кој ќе го поставиме на страницата „Контакти“ (датотека kontakty.php во директориумот на статии).

    "статија" >

    Контакти

    Повратни информации

    "контакт"акција = "#" метод = "пост" >

    Формулар за повратни информации

    За сите прашања, барања и деловни предлози, можете да не контактирате користејќи го формуларот за повратни информации подолу.

    „Блок за контакт“ >

    „влез за контакт“ >

    "текст" id = "Име за контакт"име = "Име за контакт"наслов = „Името мора да биде на руски и да содржи најмалку 3 знаци“ шема = "{3,}" потребно >

  1. „празен контакт“ >

    „влез за контакт“ >

    "email" id = "контакт-пошта"име = "контакт-пошта"потребно >

  2. "контакт-предмет" >

  3. "контакт-коментар" >

  4. „копче за контакт“ >

    "поднеси"име = „копче за контакт“вредност = "Испрати" >

Сл.1 HTML код на формуларот за повратни информации

Можете да видите како на крајот изгледа формуларот за повратни информации прикажан овде на следната слика од екранот.

Така потребна формасоздаден. И сега можете да преминете на прашањата за обработка и испраќање податоци во форма на е-порака.

Инсталирање на библиотеката PHPMailer

Како што беше претходно забележано, за испраќање пошта ќе ја користиме библиотеката PHPMailer, која во голема мера ќе го поедностави испраќањето е-пошта преку SMTP протоколсо овластување на услуга за пошта од трета страна.

За да го инсталирате, треба да преземете потребни датотеки. Ова може да се направи од веб-услугата GitHub користејќи Composer (менаџер за зависност од пакети за PHP). Или едноставно преземете ги потребните датотеки на вообичаен начин.

скриншот 73

Подолу е веб-услугата на GitHub, каде што е означен линкот до редовното преземање на библиотеката PHPMailer.

Освен тоа, Најновата верзија 6.0.7, кој беше зачуван во моментот на пишување на овој напис, може да се преземе од приложените материјали.

Во секој случај, добиената архивска датотека треба да се отпакува, по што извлечената папка PHPMailer-master со целата нејзина содржина треба да се стави во коренот на страницата. Во исто време, за едноставност, можете да го преименувате во PHPMailer. Подолу е содржината на папката PHPMailer сместена во root директориумот на страницата.

Така ја инсталиравме библиотеката PHPMailer. По што можеме да започнеме со креирање на скрипта со која ќе испраќаме е-пошта од нашата веб-страница.

Ние создаваме скрипта за испраќање пошта преку SMTP

За да ја составите скриптата, доволно е да ги искористите препораките за користење на PHPMailer дадени на страницата GitHub, кои претходно ги користевме за преземање на библиотеката.

Тие, особено, укажуваат дека на почетокот на скриптата е потребно да се увезат класи PHPMailer во глобалниот именски простор. И дадени се специфични линии на соодветниот код. Исто така, постојат примери за користење на својствата и методите на PHPMailer, вклучително и за опцијата за испраќање пошта преку SMTP.

Но, ако ова не е доволно, тогаш можете да ја користите и документацијата, која содржи опис на сите својства и методи на оваа библиотека.

скриншот 74

Подолу е кодот на скриптата за испраќање пошта од формуларот за повратни информации преку SMTP со овластување. Каде што сите линии поврзани со PHPMailer се дадени со објаснување и означени со светла позадина.

Остатокот од делот, вклучувајќи фрагменти поврзани со примање и обработка на податоци од формуларот, кои претходно моравме да ги користиме во други процесори, е означен со темна позадина. Тие беа детално дискутирани претходно во една статија посветена конкретно на прашањата за добивање и проверка на податоци од формулар во PHP. Каде што зборувавме и за универзалната корисничка функција за валидација и обработка на податоците од формуларот check_symbol().

Оваа скрипта ќе ја ставиме во истата kontakty.php датотека во која претходно го создадовме формуларот за повратни информации.

    //----Скрипта за испраќање пошта преку SMTP користејќи PHPMailer----

    //Увезете PHPMailer класи во глобалниот именски простор. Тие треба да бидат на врвот на сценариото, а не внатре во функцијата

    употреба PHPMailer\PHPMailer\PHPMailer ;

    употреба PHPMailer\PHPMailer\Exception ;

    ако (!празен($_POST["контакт-копче" ])) (

    $name = $_POST["контакт-име" ];

    $name = check_symbol ($name, "Име" , "1" , "/^+\z/iu" );

    $email = $_POST["контакт-пошта" ];

    $email = check_symbol ($email, "E-mail" , "1" , "/^+@(+\.)+(2,6)\z/i");

    $subject = $_POST["contact-subject" ];

    $subject = check_symbol ($subject, "Предмет на пораката" , "1" , "0" );

    $comment = $_POST["контакт-коментар" ];

    $comment = check_symbol ($comment, „Текст на порака“, "1" , "0" );

    ако (!празен($GLOBALS["предупредување" ])) (

    $alert = "Податоците од формуларот не беа испратени. Пронајдени се следните грешки:\n".$alert;

    вклучуваат"alert.php" ;

    друго {

    //Поврзување на библиотеката

    бараат"PHPMailer/src/PHPMailer.php" ;

    бараат"PHPMailer/src/Exception.php" ;

    бараат"PHPMailer/src/SMTP.php" ;

    $mail = нов PHPMailer(); //Иницијализација на класата

    $from = " [заштитена е-пошта]" ; //Адреса на е-пошта од која е испратено писмото

    $to = " [заштитена е-пошта]" ; //Адреса на примачот

    $mail -> isSMTP(); //Користете SMTP протокол

    $mail -> Домаќин = "smtp.yandex.ru" ; //Адреса на серверот за пошта

    $mail -> SMTPAuth = вистина ; //Овозможи режим на авторизација

    $mail -> Корисничко име = " [заштитена е-пошта]" ; //Најавете се од е-пошта на домен поврзан со услуга за е-пошта од трета страна (во овој случај, Yandex.Mail)

    $mail -> Лозинка = "27MrDon89" ; //Лозинка за домен пошта

    $mail -> SMTPSecure = "ssl" ; //Протокол за шифрирање

    $mail -> Port = "465" ; // SMTP серверска порта

    $mail -> CharSet = "UTF-8" ; //Енкодирање

    $mail -> setFrom ($from, „Администратор“ ); //Адреса и име на испраќачот

    $mail -> addAddress ($to, „Администратор“ ); //Адреса и име на примачот

    $mail -> isHTML ( вистина ); //Поставете го форматот на е-пошта во HTML

    $mail -> Предмет = „Образец за повратни информации е поднесен“; //Предмет на е-пошта (наслов)

    $mail -> Тело = "

    Име на испраќачот: $име

    Адреса на испраќачот: $ е-пошта

    Предмет на пораката: $предмет

    Содржина на пораката: $коментар



    " ; //Содржина на пораката

    $mail -> AltBody = „Текст на алтернативна буква“; //Алтернативна е-пошта ако клиентот за е-пошта не поддржува HTML формат

    $mail -> SMTPDbug = 0 ; //Овозможи дебагирање на SMTP: 0 - исклучено (за нормална употреба), 1 = пораки на клиентот, 2 - пораки на клиентот и серверот

    ако($mail -> испрати()) (

    $alert = „Пораката е испратена“; //Излезете порака во полето за дијалог на прелистувачот за успешното испраќање на писмото

    друго {

    $alert = „Грешка, е-поштата не може да се испрати:“.$mail -> ErrorInfo ; //Излези порака за грешка

    вклучуваат"alert.php" ;

Сл.5 Скрипта за испраќање е-пошта преку SMTP со овластување

Како што можете да видите, сите линии директно поврзани со испраќање е-порака, во која се наведени потребните методи и својства, се придружени со коментари. Затоа, нема смисла да се повторуваме, но можеме да се задржиме само на некои од нив, кои навистина бараат дополнителни објаснувања, имено:

1. Поради фактот што писмото е испратено од услуга за пошта од трета страна, овде се применуваат поставките што одговараат на конкретниот SMTP-сервер. Во овој случај, за случајот на употреба на серверот Yandex.Mail, се применуваат следните вредности на својствата:

  • Имотот Домаќин(поз.28) - Адреса на серверот за пошта со вредност smtp.yandex.ru;
  • Имотот SMTPScure
  • Имотот Пристаниште

Овие вредности на својствата се преземени од страницата Yandex.Help прикажана на следната слика од екранот.

Но, таквите информации може да се добијат и од други ресурси. За да го направите ова, само внесете го соодветното барање во пребарувачот, на пример: „Сервер Yandex smtp“. Каде можете да најдете голем број референци за ова прашање.

На сличен начин, вредностите на поставките може да се добијат од други SMTP сервери. Подолу е слика од екранот на страницата за помош Mail.ru, која ги прикажува поставките на SMTP серверот на услугата за пошта Mail.ru.

И така, во случај на користење на Mail.ru како SMTP сервер од трета страна, треба да се применат следните вредности на својствата на класата PHPMailer:

  • Имотот Домаќин(поз.28) - Адреса на серверот за пошта (smtp.mail.ru);
  • Имотот SMTPScure(поз.32) - Протокол за шифрирање (ssl);
  • Имотот Пристаниште(поз. 33) - порта за сервер SMTP (465).

Сличен пристап треба да се примени и за други услуги за е-пошта.

2. Во имот Корисничко име(поз. 30) потребно е да се наведе целосната адреса на поштенското сандаче на доменот. Во овој случај, " [заштитена е-пошта]".

Меѓутоа, ако користите друга сметка освен сметка за домен за испраќање писма, но адреса поврзана директно со услугата за пошта, на пример " [заштитена е-пошта]", тогаш најавувањето треба да биде само делот од адресата до знакот "@". Во овој случај, најавувањето би имало вредност "повратна информација".

3. PHPMailer обезбедува својство SMTPDbug(поз. 50), што ви овозможува да прикажете различни нивоа на грешки на екранот на прелистувачот. Оваа функција во голема мера го поедноставува наоѓањето проблеми при дебагирање на скрипта.

Вообичаено, во нормален режим, кога вредноста е поставена на 0, излезот на детални информации за грешка е оневозможен. Но, ако се појават проблеми со испраќање пошта или при дебагирање, можно е да се користат други вредности за да се прикажат позначајни информации за грешката.

За да видиме како ова изгледа во пракса, ајде привремено да воведеме некоја грешка во поставките. На пример, во лозинката за пошта на доменот (својство Лозинка, поз.31). И, исто така, за прикажување детални информации за грешката, привремено поставена во имотот SMTPDbug(поз.50) вредност 1. После, кога сè е дебагирано и проверено, ќе го оневозможиме режимот за дебагирање SMTP, заменувајќи го 1 со 0.

Во последниот дел од скриптата, откако ќе се наведат сите потребни својства и методи, методот се користи за испраќање на писмото испрати ()) (поз. 51). И ако писмото е испратено, и методот испрати ()за објект $mailвраќа true, потоа во дијалогот за прелистувач преку променливата $alertЌе се прикаже порака за успешно испраќање пошта (поз. 52).

Ако, поради некоја причина, поштата не може да се испрати, и соодветно на тоа, методот не може да се врати точно, тогаш оваа состојба ќе биде придружена со соодветна порака за грешка (поз. 55).

Проверка на испраќање е-пошта

Откако создадовме скрипта за испраќање пошта, нормално, треба да го погледнеме резултатот од нашата „креативност“. Дали овде зедовме сè предвид и зарем не направивме грешка?

За да го направите ова, ајде да се обидеме, како што е наменето, да испратиме порака од корисникот до администраторот на страницата од формуларот за повратни информации. Подолу е скриншот од формуларот за повратни информации со полињата пополнети пред да се поднесе.

И еве го резултатот од поднесувањето на формуларот.

Каде, од пораката во дијалог прозорецот на прелистувачот, јасно е дека писмото не може да се испрати поради проблем со SMTP-врската.

Но, од сега имотот SMTPDbug(поз. 50) се доделува вредност 1, потоа можеме да видиме детални информации за настанатата грешка и да ја дознаеме причината за нејзиното појавување.

Следната слика од екранот покажува дека при обидот за поврзување, откриена е грешка при автентикација, што значи употреба на погрешно најавување или лозинка.

По отстранувањето на несовпаѓањето на лозинката (претходно се користеше неточна лозинка за да може да се провери излезот на дополнителни информации за грешката), ќе се обидеме повторно да ја испратиме поштата.

Овој пат се чинеше дека сè помина добро и добивме порака дека поштата е успешно испратена. Очигледно, освен намерно внесената привремена грешка во лозинката за домен пошта, не направивме други грешки.

Но, за да се увериме дека писмото навистина е доставено до примачот, да ја внесеме поштата со адресата [заштитена е-пошта]и погледнете го резултатот.

Како што можете да видите, писмото од адресата [заштитена е-пошта], од која испративме е-пошта со име „Повратна информација“ успешно стигна до администраторот на страницата. Во исто време, телото на писмото ја содржи целата содржина што ја генериравме во скриптата користејќи податоци добиени од формуларот за повратни информации, имено:

  • Име на испраќачот: Николај;
  • Адреса на испраќачот: [заштитена е-пошта];
  • Предмет на пораката: Проверка на испраќање пошта;
  • Содржина на пораката: Тест порака.

Сега, откако успешно го проверивте испраќањето пошта, можете да го оневозможите режимот за дебагирање SMTP со доделување на имотот SMTPDbug(поз.50) вредност 0.

Така, ја завршивме задачата да создадеме алатка за испраќање пошта преку SMTP со овластување со помош на сервер за пошта од трета страна.

На пример, во следната статија, ќе погледнеме како да испратиме е-пошта за потврда за враќање на податоците од регистрираната корисничка сметка.

Изворните датотеки на страницата

Изворните датотеки на страницата со ажурирањата што беа направени во овој напис може да се преземат од приложените дополнителни материјали:

  • www датотеки со директориуми
  • Табели со бази на податоци на MySQL

Испраќањето пошта преку SMTP од локален сервер ви овозможува да тестирате испраќање пораки од локација лоцирана на локална машина, или поедноставно, локален сервер. За да го направите ова, можете да користите која било услуга за пошта Yandex, Google или mail.ru.

Како прво, SMTP (Simple Mail Transfer Protocol) е широко користен мрежен протокол дизајниран за пренос на е-пошта преку TCP/IP мрежи. И сите популарни услуги за е-пошта имаат такви протоколи.

Со доаѓањето на локалните сервери, веќе немаше потреба да се избере хостинг провајдер за да се провери работата на поединечни скрипти или cms системи, а уште помалку да се плати за тоа. Многу е полесно да тестирате сè на компјутер, а потоа можете да им покажете на сите што сте „направиле“.

Многу од овие сервери веќе имаат вграден софтвер и потребната функционалност за работа со пошта; само треба правилно да го конфигурирате.

За да ја проверите функционалноста на таквата пошта, потребен е минимум:

  • Можете да го користите Openserver како локален сервер.
  • И едноставна скрипта, чиј шаблон може да се најде веднаш подолу.
  • Можете да користите кој било сервер за пошта.

Испраќање php пошта преку поставување на скрипта SMTP

Едноставен шаблон за скрипта што може да се копира подолу или да се преземе од стотици слични локации, треба да се уреди.

Прво, треба да промените некои вредности во шаблонот за скрипта.
до — сменете ја на поштенската адреса каде што ќе се испрати пораката по пошта.
предмет - предмет на писмото
порака — самата порака или телото на писмото.

Пример за моето сценарио:

Се разбира, можете малку да ја проширите функционалноста и да направите сценариото да прикажува порака за испраќање пошта. Иако всушност SMTP-серверот е тој што го прави испраќањето, а скриптата само ја генерира пораката.

На пример, можете да го напишете ова:

Сите заменети вредности мора да бидат во наводници, инаку скриптата ќе направи грешка. После ова, можете да ја зачувате скриптата во папката на локалниот сервер.

На пример: домени/испрати/индекс.phpи започнете со поставување на испраќање пошта преку SMTP opensrerver.

Поштата ќе пристигне на која било адреса што ќе биде наведена во скриптата наместо вредноста 'до' , но оваа пошта ќе биде обработена и испратена токму од SMTP што ќе биде наведено во поставките на openserver.

  1. Стартување на серверот
  2. Отворете го модулот openserver со поставките во менито „mail“.
  3. Ги пополнуваме сите полиња како што е прикажано на сликата, додека корисничкото име, е-поштата и лозинката на испраќачот ги заменуваме од вистинско поштенско сандаче на Yandex.

Ги зачувуваме поставките и откако ќе се рестартира серверот, можете да пристапите до самата скрипта. Од папката „Мои сајтови“, отворете ја папката „испрати“ во која се наоѓа претходно зачуваната скрипта index.php.

Штом ќе се пристапи до оваа скрипта, информациите ќе се појават во нов прозорец на прелистувачот што укажува дека скриптата е завршена.

По ова, треба да го проверите вашето поштенско сандаче, чија адреса е наведена во скриптата, за да видите дали писмото пристигнало.

Ако го нема, тоа значи дека нешто не е правилно конфигурирано или буквата завршила во папката спам.

Сите други поставки изгледаат слично, но за секој случај, дополнителните информации нема да наштетат.

За да поставите испраќање пошта преку SMTP mail ru, едноставно треба да ги замените параметрите на Yandex со параметрите за пошта ru.

И за да не се обновува локалниот сервер секој пат, најдобро е да конфигурирате различни профили на openserver. Како да го направите ова е прикажано во видео-упатството.

Во овој случај, ќе биде доволно едноставно да го вчитате профилот и сите поставки што беа наведени за овој профил ќе бидат достапни по рестартирање на серверот. Тоа е многу погодна работа и работи многу едноставно.

За секој профил (воопшто не е важно како ќе се вика), мора да се направат сопствени поставки, освен ако, се разбира, не планирате да користите скрипти, системи cms и апликации со различни параметри.
Ако не, тогаш можете да се справите со стандардните поставки.

Што се однесува до SMTP mail ru, сè е идентично овде.

Податоците на Yandex се менуваат во податоци за пошта ru

Испраќање пошта преку smtp google

За да поставите испраќање пошта преку Google SMTP, потребно е малку напор.

Прво, создавањето профил во Google е потешко отколку во другите системи Yandex и mail ru
Второ, системот нема едноставно да го пропушти писмото, дури и ако ги дадете вашите информации за најавување. За почеток, таа ќе испрати писмо со сите потребни информации за понатамошни инструкции.

Во спротивно За Google е конфигуриран на ист начин. Се менуваат само сите податоци.

За да го конфигурирате испраќањето пошта преку друг SMTP, сите податоци ќе бидат приближно исти.

Ако сè ви успеа и буквите стигнаа до наведениот примател, тогаш сè беше направено правилно. Би било одлично доколку ги споделите вашите искуства во коментарите.

За одредена веб-страница да има можност да работи ефикасно и продуктивно, треба да се пристапи максимално одговорно и повнимателно кон неговото создавање. Изборот на системот што ќе се користи за создавање на онлајн продавница заслужува посебно внимание. Факт е дека комерцијалната платформа специјализирана за продажба на стоки или услуги мора да овозможи имплементација на сите потребни функционалности и да биде лесна за употреба, како за администраторите вклучени во одржувањето и пополнувањето на страниците, така и за клиентите на онлајн продавниците. Многу луѓе и компании кои се соочуваат со прашањето да изберат соодветен CMS за себе, анализираат дали да изберат Magento или OkayCMS. Ајде да ги споредиме карактеристиките и можностите на овие мотори на веб-локации.

Кога работите на сопствена веб-страница, едно лице или компанија ќе треба да вложат многу напор - само во овој случај можете да сметате на позитивни резултати и да добиете навистина ефикасна алатка. Едно од основните прашања што мора да се реши дури и пред да започнете да креирате веб-страница ќе биде како да се одлучите за најсоодветната CMS опција. Следно, ќе споредиме два CMS: Joomla или OkayCMS и ќе обрнеме внимание на карактеристиките на секоја од нив.

Да имате сопствена веб-локација е еден од основните барања за ефикасно, успешно водење бизнис. Статистиката јасно укажува на зголемување на бројот на купувања на разни стоки и нарачки на услуги преку Интернет. Имајќи го предвид ова, повеќето комерцијални компании веќе се свесни за потребата да имаат своја веб-страница. Сепак, самиот факт да се има интернет ресурс не е доволен за да се смета на неговата ефикасност, профитабилност и очекуваните деловни придобивки.

Кога се подготвувате да креирате сопствена веб-страница или да отворите онлајн продавница, треба да земете предвид и анализирате многу прашања, како и да решите разни проблеми. Само во овој случај можете да сметате на фактот дека вашиот проект ќе донесе позитивни резултати и ќе може целосно да ги исполни вашите очекувања. Меѓу различните прашања поврзани со развојот на онлајн продавницата, прашањето за избор на CMS заслужува посебно внимание. За да ви биде полесно да одлучувате за оптималниот мотор за себе, внатре

Кога планирате да креирате сопствена веб-страница за идна онлајн продавница, прилично голем број луѓе, па дури и компании специјализирани за продажба се соочуваат со тежок и исклучително важен избор: кој од постоечките CMS да се избере. Ако размислувате што да изберете: PrestaShop или OkayCMS, ви предлагаме да го прочитате овој напис, во кој ќе ги споредиме овие два системи за креирање интернет-страници, особено онлајн продавници.

Бидејќи испраќањето анонимни пораки од виртуелните сервери за хостирање на Windows е забрането, испраќањето писма треба да се врши преку SMTP сервер, за кој исто така е можно да се користи нашиот систем за пошта.

Како да испраќате е-пошта користејќи PHP?

Користење на која било класа PHP што поддржува авторизација на серверот smtp. На пример, можете да го користите множеството класа PHPMailer.

Можете исто така да го користите нашиот пример, кој имплементира испраќање писма со помош на сервер smtp, кој бара овластување. Затоа, не заборавајте да ги додадете соодветните детали за пристап во скриптата, на пример:

// Ако треба да го прикажете дневникот за сесии SMTP, можете да ја откоментирате следната линија. // $_SERVER ["debug"] = точно;функција MailSmtp ($reciever, $subject, $content, $headers, $debug = 0) ( $smtp_server = "smtp.site"; // Адреса на серверот SMTP$smtp_port = 25 ; // SMTP серверска порта$smtp_user = " [заштитена е-пошта]" ; // Корисничко име за авторизација на серверот SMTP$smtp_password = "pAsSwORd" ; // Лозинка за авторизација на серверот SMTP$mail_from = " [заштитена е-пошта]" ; // Поштенско сандаче од кое е испратено писмото$sock = fsockopen ($smtp_server, $smtp_port, $errno, $errstr, 30); $str = fgets ($sock, 512); if (! $sock ) ( printf ( "Сокетот не е создаден\n" ); излез (1 ); ) smtp_msg ($sock , "HELO " . $_SERVER [ "SERVER_NAME" ]); smtp_msg ($sock, „НАЈАВА НА AUTH“); smtp_msg ($sock, base64_encode ($smtp_user)); smtp_msg ($sock, base64_encode ($smtp_password)); smtp_msg ($sock , "MAIL FROM:<" . $mail_from . ">" ); smtp_msg ($sock , "RCPT ДО:<" . $reciever . ">" ); smtp_msg ($sock , "DATA"); $headers = "Предмет: " . $subject. "\r\n" . $headers; $data = $headers. "\r\n\r\n" . $content . "\r\n." ; smtp_msg ($sock , $data ); smtp_msg ($sock , "QUIT" ); fclose ($sock ); ) функција smtp_msg ($sock , $msg ) (ако ( ! $sock ) ( printf („Скршен штекер!\n“); излез (1); ) if (isset($_SERVER [ „debug“ ]) && $_SERVER [ „debug“ ]) (printf („Испрати од нас : %s
" , nl2br (htmlspecialchars ($msg )); ) fputs ($sock , " $msg \r\n" ); $str = fgets ($sock , 512 ); if (! $sock ) ( printf ( "Сокетот е долу\n" ); излез (1); ) друго (if (isset($_SERVER [ "отстранување грешки" ]) && $_SERVER [ "отстранување грешки" ]) (printf ("Добив од серверот: %s
" , nl2br (htmlspecialchars ($str )); ) $e = експлодира (" " , $str ); $code = array_shift ($e ); $str = implode ( " " , $e ); ако ($code > 499) (printf ( „Проблеми со SMTP разговор.

Код %d.
Порака %s
"
, $code , $str ); излез (1); ) ) ) ?>

Преземете пример на готова скрипта со функцијата MailSmtp(): smtpauth.php.sample

Можете да ја користите функцијата MailSmtp() опишана погоре за директно да ја замените функцијата mail(); разгледајте пример за наједноставната форма во PHP:

// Заглавија на пораките, тие го дефинираат кодирањето на пораката, полињата Од, До итн.$headers = "MIME-верзија: 1.0\r\n" ; $заглавија .= "Тип на содржина: текст/html; множество знаци=windows-1251\r\n"; $headers .= "До: $to \r\n" ; $заглавија .= „Од: Име на испраќачот " ; // пошта ($to, $subject, $message, $headers); require_once "smtpauth.php" ; MailSmtp ($to, $subject, $message, $headers); ) ?>
На кого: Тема: Текст: 
 
 

За да може оваа форма да работи без функцијата mail(), ја вклучивме датотеката smtpauth.php преку require_once и ја повикавме функцијата MailSmtp() опишана во неа со аргументи слични на mail(). Во исто време, го коментиравме самиот повик mail() во кодот за да избегнеме грешки при извршувањето на скриптата.

Како да испраќате е-пошта користејќи ASP.NET?

Ако ја користите верзијата 2.0, тогаш ја користите класата MailMessage System.Net.Mail), добро опишан.

Подолу се дадени примери за неговата употреба за јазиците C# и VisualBasic:

Пример за јазикот C#:

<% @Page Language="c#" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% MailMessage message = new MailMessage(); // создавање на нова буква message.To.Add(" [заштитена е-пошта]"); // додавање адреса на примачот message.From = new MailAddress("from@ домен.tld", "Име на испраќачот"); // наведувајќи го името и адресата на испраќачот message.Subject = "Предмет на пораката"; // наведувајќи го предметот на писмотопорака.BodyEncoding = System.Text.Encoding.UTF8; // специфицирање на кодирање на буквитепорака.IsBodyHtml = неточно; // одредување на формат на буквата (точно - HTML, неточно - не HTML)порака.Тело = "Текст на пораката"; // наведувајќи го текстот (телото) на буквата SmtpClient клиент = нов SmtpClient("smtp.site",25); // создавање нова врска со серверот „smtp.site“клиент.DeliveryMethod = SmtpDeliveryMethod.Network; // го дефинира методот за испраќање поракиклиент.EnableSsl = неточно; // ја оневозможува потребата да се користи безбедна врска со серверотклиент.UseDefaultCredentials = неточно; // оневозможи користење на стандардните детали за авторизација client.Credentials = new NetworkCredential("postmaster@ домен.tld", "***лозинка***"); // наведувајќи ги потребните детали (корисничко име и лозинка) за авторизација на серверот SMTPклиент.Испрати(порака); // Испрати порака %>

Преземете пример за завршена форма што ја демонстрира употребата на овој метод: MailForm.aspx.

Пример за јазикот VisualBasic:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% Dim smtpMssg AS new MailMessage smtpMssg.From = New MailAddress ("admin@домен.tld", "Sender_name") smtpMssg.To.Add (" [заштитена е-пошта]") „Додавање адреса на примачот smtpMssg.Subject = "Предмет на е-пошта" „назначување на предметот на писмото smtpMssg.Body = "Текст на пораката" „ означување на текстот (телото) на писмото smtpMssg.BodyEncoding = System.Text.Encoding.UTF8 „ означување на кодирањето на буквата smtpMssg.IsBodyHtml = неточно " означување на форматот на буквите (точно - HTML, неточно - не HTML)Затемнете ја SmtpMail како нов SmtpClient ("smtp.site", 25) " декларација на нов објект од типот "SmtpClient" SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network „назначување на начинот на доставување на писмото SmtpMail.UseDefaultCredentials = Неточно " стандардно оневозможување на употребата на ингеренциите за овластување" SmtpMail.EnableSsl = Неточно " ја оневозможува потребата за користење безбедна врска со серверот SmtpMail.Credentials = нов NetworkCredential("postmaster@ домен.tld", "***лозинка***") „со означување на потребните детали (корисничко име и лозинка) за авторизација на серверот SMTP SmtpMail.Send(smtpMssg) “ испраќање порака %>

Исто така постои и застарена (и застарена) класа SmtpMail (со користење на именскиот простор Систем.Веб.Пошта). Подолу е пример за неговата употреба за јазикот VisualBasic:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Web" %> <% @Import Namespace="System.Web.Mail" %> <% Dim smtpMssg = new MailMessage " декларација на нов објект од типот "MailMessage" smtpMssg.From = „Име на испраќачот домен.tld>" „Наведување на името и адресата на испраќачот smtpMssg.To = "admin@ домен.tld" " наведување на адресата на примачот smtpMssg.BodyFormat = MailFormat.Text „ означување на форматот на буквата smtpMssg.BodyEncoding = Кодирање.UTF8 „што го означува кодирањето на буквата smtpMssg.Subject = "Предмет на е-пошта" „назначување на предметот на писмото smtpMssg.Body = "Текст на пораката" “ наведување на текстот на писмото smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1) „што укажува на потребата за авторизација на SMTP на серверот smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "admin@ домен.tld") „корисничко име за овластување smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "***password***") „лозинка за овластување SmtpMail.SmtpServer = "smtp.site" " наведувајќи ја адресата на серверот SMTP SmtpMail.Send(smtpMssg) “ испраќање порака %>

Како да испраќате е-пошта користејќи ASP?

Забележете дека кога го користите нашиот smtp сервер, потребна е овластување, затоа не заборавајте да ги додадете соодветните детали за пристап во скриптата, на пример:

<% iConfig = Server.CreateObject("CDO.Configuration") Set iConfig = Server.CreateObject("CDO.Configuration") With iConfig.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.сайт" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@домен.tld" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Update End With Set cdoMessage = CreateObject("CDO.Message") Со cdoMessage Set .Configuration = iConfig .From = „Тест корисник домен.tld>" .До = "Корисник " .Subject = "Здраво, корисник" .TextBody = "Ја пишувам оваа порака од ASP скрипта."

Некои CMS веќе имаат вградени алатки за испраќање кореспонденција или соодветни модули; ајде да ги погледнеме најпопуларните.

Вордпрес

За овој CMS постои посебен модул „WP Mail SMTP“, пример за неговата конфигурација е опишан на страницата на модулот.

Обрнете внимание на илустрацијата во примерот; во нашиот систем за пошта, неопходно е да се користи портата 25 и не е потребна SSL шифрирање.

Џумла

Во административниот панел, одете во делот „Општи поставки“, изберете го табулаторот „Сервер“. Во полето „Пошта“, треба да го изберете методот на испраќање како „SMTP-сервер“, во полињата „Адреса на серверот SMTP“ и „SMTP најавување“ и „SMTP лозинка“ наведете ги соодветните детали за системот за пошта, на пример: smtp.сајт, box@your_domainи соодветните лозинка.

Друпал

Овој CMS има и свој модул за работа со SMTP сервер, базиран на PHPMailer.Можете да го преземете овој модул на неговата страница на веб-страницата на CMS Drupal; описот за инсталирање на модулот е достапен во архивата со него.

NetCat

Овој CMS нема вградени функции за работа со SMTP сервер. За да испратите пошта користејќи скрипти на страницата, можеме да понудиме да го користиме нашето решение; за да го поврзете, треба да ги извршите следните чекори:

  • Преземете архива со потребните датотеки од нашата веб-страница ( send_auth_mail.phpИ mail.inc.php) и отпакувајте го на вашиот компјутер;
  • Уреди датотека send_auth_mail.phpод архивата, означувајќи ги во неа деталите за поврзување со саканиот SMTP сервер:

    • $mail_smtpServer = "smtp.site"; (Адреса на SMTP сервер)
    • $mail_port = "25" ; (порта за поврзување)
    • $mail_username = "[заштитена е-пошта]" ; (корисничко име за авторизација на серверот SMTP)
    • $mail_password = "Лозинка"; (лозинка за авторизација на серверот SMTP)
  • Направете резервна копија на датотеката domain.tld/www/netcat/admin/mail.inc.php;
  • преземање датотеки send_auth_mail.phpИ mail.inc.phpна виртуелната локација во директориумот domain.tld/www/netcat/admin/

домен.tldтреба да се замени со вашето име на домен.

Предложеното решение работи со сите NetCat модули кои ги користат стандардните функции на овој CMS за испраќање пошта.




Врв