Добрый день, в PHP новичок, разбираюсь с отправкой почты. После выполнения кода сообщение пришло только на следующий день. Подскажите с чем это связано? Код (PHP): <?php header("Content-type: text/html; charset=UTF-8"); $to = 'mymail@list.ru'; // Адрес получателя $subject ='Test message'; // Тема сообщения $message = "Mail function - test message!"; // Текст сообщения $header = "From: Admin <admin@mysite.net>" . "\r\n"; // От кого сообщение $header .= "Content-Type: text/html; charset=UTF-8" . "\r\n"; if(mail($to, $subject, $message, $header)) { echo '<div style="color: #0f0;"> Сообщение было отправлено! </div>'; } else { echo '<div style="color: #f00;"> Ошибка при отправке! </div>'; } ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
все корректно работает. письмо же пришло. другое дело что с некоторой задержкой, но пришло же. а задержка может быть по разным причинам. серые списки на стороне получателей, забитый пул на стороне отправителя, забитый ящик на сторне получателя, временные разногласия в конфигурации почтовых агентов. журналы читать надо. или можно использовать другой почтовый сервер через smtp.
Спасибо за разъяснение. Подскажите пожалуйста какой почтовый сервер используется в моем коде выше? К примеру, когда я создаю учетную запись в Outlook, я ввожу тип учетной записи, сервер входящей и исходящей почты, но здесь я ничего подобного не вводил, а сообщение все равно отправилось. Не могу понять как работает этот код. Разъясните пожалуйста, если не затруднит.
не затруднит. у вас сайт лежит на хостинге, где настроен агент отправки почты. функция mail() записывает на его стандартный вход весь текст почтового сообщения - заголовки и тело. исходя из получателя, записанного в заголовках, почтовый агент выбирает адрес почтового агента получателя письма. далее происходит сеанс связи между двумя почтовыми агентами по протоколу пересылки электронной почты. принимающая сторона в свою очередь знает куда это письмо доставить - положить где-то у себя или ретранслировать другому почтовому агенту. настраивая у себя в аутлуке адрес сервера исходящей почты вы по сути настраиваете свой аутлук как агент отправки почты, который связывается с другим агентом - сервером исходящей почты - и отправляет письмо именно ему. но сервер исходящей почты, прочитав адресата письма, понимает что это (в большинстве случаев) корреспонденция не ему и связывается с почтовым агентом получателя, перенаправляя письмо дальше. конечный сервер (если всё успешно) кладет письмо в свой почтовый ящик. но как его прочитает адресат? либо настроит свою почтовую программу на чтение почтового ящика (в вашем случае аутлук и его настройка на сервер входящей почты) по потовому протоголу, либо зайдет на веб-интерфейс где веб-сервер будет связываться с почтовым ящиком на почтовом протоколе и выдавать все содержимое красивыми страницами по протоколу передачи гипертекста. примерно так.
Вот спасибо! Немного прояснилось. Т.е. получается, если в этой функции я укажу несуществующий адрес отправителя - письмо не отправиться? Верно?
письмо отправится. представьте себе почтовый ящик висящий на доме. кинули (вы - первый агент) в него письмо с несуществующим адресом. всё, для вас письмо уже отправилось. пришел почтальон (второй агент), забрал письмо и отнес на почтамт. передал сортировщику (третий агент). тот засунул в машину. машина (четвертый агент) считала индекс (допустим существующий) и положила в нужную стопку. курьерский зилок (пятый агент) привез в почтамт обслуживающий этот индекс. местный сортировщик (шестой) загнал в свою машину (7) которая автоматом по районам раскидывает. и та вдруг не нашла адреса и вернула сортировщику (по сути это уже 8-ой агент) который глазами посмотрел и убедился что адресата не существует. и письмо полетело обратно отправителю. то есть только на этапе 7-8 письмо вдруг не доставилось, а на всех остальных этапах - оно же с успехом шло. в контексте функции - она записала агенту текст письма и завершила свою работу. для нее письмо уже отправилось. агент закидывает письмо другому агенту. если тот не ответил сразу негативным статусом то он обязан ответить что принял письмо, а значит и для нашего агента письмо тоже будет считаться отправленным. если что-то настроено не так и наш агент ответил самой функции отказом - тогда функция в программу вернет false по которому мы поймем что она не смогла отправить письмо.
Привет! Помогите пожалуйста! Нужно вписать в код сайта свою почту на которую будут приходить заявки, а где и как это делается не знаю! Вот код сайта: Код (PHP): <!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="keywords" content=""> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"> <meta name="viewport" content="width=1024"> <title>Стильные наручные часы Daniel Wellington. Для мужчин и девушек с ремешком НАТО</title> <link href="favicon.ico" type="image/x-icon" rel="icon"> <link href="favicon.ico" type="image/x-icon" rel="shortcut icon"> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript" src="mobilyslider.js"></script> <script type="text/javascript" src="scripts.js"></script> <script type="text/javascript" src="jquery.colorbox-min.js"></script> <script type="text/javascript" src="jquery.colorbox-ru.js"></script> <script type="text/javascript" src="clock_color_selector.js"></script> <script type="text/javascript" src="jquery.customselect.min.js"></script> <script> $(document).ready(function(){ $('a.galit').colorbox({rel:'gal',maxHeight: "600px"}); $('select').customSelect(); }); </script> <link rel="stylesheet" type="text/css" href="index.css" media="all"> </head> <body> <div class="popup_bg"></div> <!-- <div class="popup popup-zvonok"> <div class="name">Заказать звонок</div> <form action="" method="post"> <label>Имя</label> <input type="text" name="name" required><br> <label>Телефон</label> <input type="text" name="phone" required pattern="^\d{11}$" title="Формат: 89227778888"><br> <input type="submit" value="Заказать"> </form> </div> --> <div class="popup popup-dostavka"> <div class="name">ДОСТАВКА И ОПЛАТА</div> Доставка Почтой России<br> <br> Мы вам доверяем и не требуем с вас предоплаты.<br> Мы уважаем ваше время, и поэтому все заказы отправляем только бандеролями 1 класса.<br> Вы можете забрать и оплатить свои новые часы на почте в любое удобное для вас время.<br> <br> Стоимость доставки составляет от 350 р.<br> <br> Сроки доставки Почтой России<br><br> Мы отправлим ваш заказ уже сегодня 1 классом.<br> Часы дойдут до вас быстро и без единой царапинки.<br> Доставка займет 2-7 рабочих дней.<br> Чтобы ускорить прибытие вашего заказа, мы отправляем бандероли с Главпочтампта два раза в день, включая выходные дни.<br> <br> Оплата заказа наложенным платежом<br> <br> Оплата осуществляется в почтовом отделении при получении заказа.<br> <br> Условия доставки Почтой России<br> <br> В момент отправки, каждому заказу присваивается номер. По номеру можно отследить доставку посылки на сайте Почты России. Мы незамедлительно вышлем номер на ваш e-mail или СМС-сообщением.<br> Получить заказ можно в почтовом отделении, индекс которого был указан при оформлении заказа. Уведомление о доставке заказа придет по вашему адресу. Если уведомление вам не поступило, то через 14 дней сходите на почту самостоятельно. Скорее всего ваши часы уже ждут вас на почте.<br> Для получения заказа на почте возьмите с собой паспорт.<br> Срок хранения заказа в почтовом отделении составляет 1 месяц с момента поступления. Просим вас своевременно получить пришедший заказ.<br> В настоящее время, мы осуществляем доставку только по России. </div> <div class="popup popup-garant"> <div class="name">ГАРАНТИИ</div> <ul> <h2>Оплата при получении</h2><br> <ul> <li>Мы не берем с вас предоплату.</li> <li>Оплата заказа осуществляется при получении в почтовом отделении.</li></ul><br><br> <h2>Гарантии на товар</h2><br> <ul> <li>Перед отправкой товары проходят проверку качества.</li> <li>Мы вернем вам деньги если что-то окажется не так.</li> </ul><br><br> <h2>Соблюдение закона "О защите прав потребителей"</h2><br> <ul> <li>Вы вправе отказаться от покупки в течение 7 дней с момента получения заказа, не зависимо от причины возврата.</li> </ul><br> <h2>Возврат денег</h2><br> <ul> <li>Вам необходимо обратиться в службу поддержки клиентов</li> <li>Выслать нам купленный товар</li> <li>Мы вернём деньги за заказ, удобным для Вас способом.</li> </ul><br> Мы заботимся о своей репутации, довольные клиенты для нас на первом месте! </ul></div> <div class="popup popup-person-data"> <div class="name">Соглашение об использовании персональных данных</div> <p> Данное соглашение об обработке персональных данных разработано в соответствии с законодательством Российской Федерации. Все лица заполнившие сведения, составляющие персональные данные на данном сайте, а также разместившие иную информацию обозначенными действиями подтверждают свое согласие на обработку персональных данных и их передачу оператору обработки персональных данных. Под персональными данными Гражданина понимается нижеуказанная информация: </p> <ol> <li>Общая информация (Имя, телефон и адрес доставки); посетители сайта направляют свои персональные данные для получения заказа.</li> <li>Гражданин, принимая настоящее Соглашение, выражают свою заинтересованность и полное согласие, что обработка его персональных данных может включать в себя следующие действия: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, уничтожение, sms-оповещения о статусе заказа.</li> <li>Гражданин гарантирует: информация, им предоставленная, является полной, точной и достоверной; при предоставлении информации не нарушается действующее законодательство Российской Федерации, законные права и интересы третьих лиц; вся предоставленная информация заполнена Гражданина в отношении себя лично.</li> </ol> <p>© DWWatches, 2015</p> </div> <div class="popup popup-message"> <div class="name"> Спасибо за заявку <div class="n1">В ближайшее время<br> мы с Вами свяжемся</div> <div class="iframe"></div> </div> </div> <div class="wrapper"> <div class="box1"> <div class="res"> <div class="header"> <div class="button"> <div class="but but-dostavka">Доставка и оплата</div> <div class="but but-garant">Гарантии</div> </div> <!-- <div class="phone-top"> 8-800-775-32-86 <div class="but but-zvonok">заказать звонок</div> </div> --> <div class="clear"></div> </div> <div class="block-txt"> <div class="site_name"><h1>Стильные наручные часы <br><div>DANIEL WELLINGTON</div></h1></div> <div class="skidka"> <div class="numb">70%</div> <div class="sk">Скидка</div> <div class="plus">ОСТАЛОСЬ <del>200</del> 7 АКЦИОННЫХ ТОВАРОВ! УСПЕЙ ЗАКАЗАТЬ!</div> </div> <div class="price"> <span class="new"><span class="price_only886">1990</span> <span class="price_currency">р</span></span> <span class="prev"><span class="price_old886">6650</span> <span class="price_currency">р</span></span> </div> <div class="clear"></div> <div class="sl-form"> <form action="call.php" method="post" onsubmit="if(this.name.value==''){alert('Введите Ваше имя!');return false}if(this.phone.value==''){alert('Введите Ваш номер телефона!');return false}return true;"> <label>Имя</label> <input value="" name="name" required="" type="text"><br> <label>Телефон</label> <input value="" name="phone" required="" pattern="[0-9_-]{7,}" title="только цифры и тире. Минимум 7 цифр" id="phone" type="text"><br> <label>Модель</label> <select style="width: 250px; height: 27px; font-size: 20px;" class="hasCustomSelect" name="address"> <option value="Сanterbury">Сanterbury</option> <option value="Oxford">Oxford</option> <option value="Cambridge">Cambridge</option> <option value="Nottingham">Nottingham</option> <option value="Glasgow">Glasgow</option> </select> <br> <!--<label>Корпус</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="color"> <option value="Серебро">Серебро</option> <option value="Розовое золото">Розовое золото</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 107px; display: inline-block;" class="customSelectInner">Серебро</span></span> <br> <label>Размер</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="size"> <option value="29">29мм</option> <option value="36">36мм</option> <option value="40">40мм</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 36px; display: inline-block;" class="customSelectInner">29мм</span></span> <br>--> <input value="ЗАКАЗАТЬ" type="submit"> </form> </div> </div> </div> </div> <div class="box2 res"> <div class="title-box">ХАРАКТЕРИСТИКИ <span>ЧАСОВ DANIEL WELLINGTON</span></div> <div class="item" style="padding-top: 6px;"> <div><span>Корпус из</span> нержавеющей<br> стали</div> </div> <div class="item"> <div><span>Сапфировое</span><br> стекло</div> </div> <div class="item"> <div><span>Нейлоновый</span> ремешок <br>НАТО</div> </div> <div class="item"> <div><span>Кварцевый</span><br> механизм</div> </div> <br> <div class="item b"> <div><span>Диаметр</span><br> 36-40 мм</div> </div> <div class="item b"> <div><span>Толщина</span><br> 6 мм</div> </div> <div class="item b"> <div><span>Водостойкие</span> </div> </div> </div> <div class="box5 res"> <div class="title-box">ФОТОГРАФИИ <span>DANIEL WELLINGTON</span></div> <div class="section"> <div class="gallery"> <ul class="images"> <li class="image">[url="daniel-wellington-5-1024.jpg"]<img src="daniel-wellington-5.jpg" alt="">[/url]</li> <li class="image">[url="daniel-wellington-2-1024.jpg"]<img src="daniel-wellington-2.jpg" alt="">[/url]</li> <li class="image">[url="daniel-wellington-1-1024.jpg"]<img src="daniel-wellington-1.jpg" alt="">[/url]</li> <li class="image">[url="daniel-wellington-4-1024.jpg"]<img src="daniel-wellington-4.jpg" alt="">[/url]</li> <li class="image">[url="daniel-wellington-3-1024.jpg"]<img src="daniel-wellington-3.jpg" alt="">[/url]</li> </ul> </div> </div> </div> <div class="box3"> <div class="title-box">ВЫБЕРИ СВОЙ <span>СТИЛЬ DANIEL WELLINGTON</span></div> <div class="style_box"> <div class="item"> <img src="c1.png" alt="1"> <span>Сanterbury</span> </div> <div class="item"> <img src="c2.png" alt="2"> <span>Oxford</span> </div> <div class="item"> <img src="c3.png" alt="3"> <span>Cambridge</span> </div> <div class="item"> <img src="c4.png" alt="4"> <span>Nottingham</span> </div> <div class="item"> <img src="c5.png" alt="5"> <span>Glasgow</span> </div> </div> <div class="block"> <div class="res"> <div class="price"> <span class="new"><span class="price_only886">1990</span> <span class="price_currency">р</span></span> <span class="prev"><span class="price_old886">6650</span> <span class="price_currency">р</span></span> </div> <div class="numb"></div> <div class="left"> <div class="sl-form"> <form action="call.php" method="post" onsubmit="if(this.name.value==''){alert('Введите Ваше имя!');return false}if(this.phone.value==''){alert('Введите Ваш номер телефона!');return false}return true;"> <label>Имя</label> <input value="" name="name" required="" type="text"><br> <label>Телефон</label> <input value="" name="phone" required="" pattern="[0-9_-]{7,}" title="только цифры и тире. Минимум 7 цифр" id="phone2" type="text"><br> <label>Модель</label> <select style="width: 250px; height: 27px; font-size: 20px;" class="hasCustomSelect" name="address"> <option value="Сanterbury">Сanterbury</option> <option value="Oxford">Oxford</option> <option value="Cambridge">Cambridge</option> <option value="Nottingham">Nottingham</option> <option value="Glasgow">Glasgow</option> </select> <br> <!--<label>Корпус</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="color"> <option value="Серебро">Серебро</option> <option value="Розовое золото">Розовое золото</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 107px; display: inline-block;" class="customSelectInner">Серебро</span></span> <br> <label>Размер</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="size"> <option value="29">29мм</option> <option value="36">36мм</option> <option value="40">40мм</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 36px; display: inline-block;" class="customSelectInner">29мм</span></span> <br>--> <input value="ЗАКАЗАТЬ" type="submit"> </form> </div> </div> </div> </div> </div> <div class="box6 res"> <div class="title-box">Отзывы</div> <div class="item"> <img src="burberry-otziv-5.jpg" alt="" class="photo"> <div class="text"> <div class="name">Дарья</div> У меня аллергия на плохие металлы. Там, где кожа соприкасается с материалом плохого качества, остаются синие пятна, похожие на синяки. Но в этих часах - все нормально. Да и выглядят они очень стильно и современно. Рада, что в интернете становится все больше таких хороших магазинов. Удачи и процветания! </div> </div> <div class="item right"> <img src="burberry-otziv-2.jpg" alt="" class="photo"> <div class="text"> <div class="name">Артем</div> Часы заказал жене в подарок. Очень порадовало, что в комплект входит подарочная коробочка. Качеством, также остался доволен на 100%. Жена визжала от восторга, она давно мечтала о таких часах. Очень рад, что попал в акцию и купил вторые часы с большой скидкой. Гармония стиля! :) </div> </div> <div class="item"> <img src="burberry-otziv-3.jpg" alt="" class="photo"> <div class="text"> <div class="name">Алесия</div> Первый раз покупала что-либо в интернете. Очень боялась, что часы до меня не дойдут или будут плохого качества. Как оказалось - зря переживала. После заказа, со мной связался менеджер для подтверждения. Оказался очень милым молодым человеком. Все рассказал, успокоил и положил в подарок наушники. Спасибо! </div> </div> <div class="item right"> <img src="burberry-otziv-4.jpg" alt="" class="photo"> <div class="text"> <div class="name">Елена</div> Понравился широкий ассортимент цветовых решений. Долго выбирала между Glazgow и Oxford. А когда определилась с выбором, менеджер предложил еще одни часы со скидкой 50%, только другой расцветки. Трудно было устоять и не согласиться на такое заманчивое предложение. Спасибо вам, что балуете нас! </div> </div> </div> <div class="box7 res"> <div class="title-box">Как мы работаем </div> <img src="block.png" alt=""> <div class="item" style="margin-left: 11px;"> <div class="name">Вы оформляете заявку</div> Заполняете простую форму заказа </div> <div class="item" style="margin-left: 11px;"> <div class="name">Вам звонит менеджер</div> Уточняет детали заказа </div> <div class="item" style="margin-left: 19px;"> <div class="name">Мы отправляем ваш товар</div> 1 классом почтой России </div> <div class="item" style="margin-left: 27px;"> <div class="name">Вы получаете посылку</div> Забираете посылку в отделении почты и оплачиваете </div> <div class="clear"></div> </div> <div class="box8"> <div class="block"> <div class="res"> <div class="left"> <div class="price"> <span class="new"><span class="price_only886">1990</span> <span class="price_currency">р</span></span> <span class="prev"><span class="price_old886">6650</span> <span class="price_currency">р</span></span> </div> </div> <div class="right"> <div class="sl-form"> <form action="call.php" method="post" onsubmit="if(this.name.value==''){alert('Введите Ваше имя!');return false}if(this.phone.value==''){alert('Введите Ваш номер телефона!');return false}return true;"> <label>Имя</label> <input value="" name="name" required="" type="text"><br> <label>Телефон</label> <input value="" required="" pattern="[0-9_-]{7,}" title="только цифры и тире. Минимум 7 цифр" name="phone" id="phone3" type="text"><br> <label>Модель</label> <select style="width: 250px; height: 27px; font-size: 20px;" class="hasCustomSelect" name="address"> <option value="Сanterbury">Сanterbury</option> <option value="Oxford">Oxford</option> <option value="Cambridge">Cambridge</option> <option value="Nottingham">Nottingham</option> <option value="Glasgow">Glasgow</option> </select> <br> <!--<label>Корпус</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="color"> <option value="Серебро">Серебро</option> <option value="Розовое золото">Розовое золото</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 107px; display: inline-block;" class="customSelectInner">Серебро</span></span> <br> <label>Размер</label> <select style="width: 267px; position: absolute; opacity: 0; height: 27px; font-size: 20px;" class="hasCustomSelect" name="size"> <option value="29">29мм</option> <option value="36">36мм</option> <option value="40">40мм</option> </select><span style="display: inline-block;" class="customSelect"><span style="width: 36px; display: inline-block;" class="customSelectInner">29мм</span></span> <br>--> <input value="ЗАКАЗАТЬ" type="submit"> </form> </div> </div> </div> </div> </div> <div class="footer"> <div class="res"> <div class="button"> <div class="but but-dostavka">Доставка и оплата</div> <div class="but but-garant">Гарантии</div> </div> <div class="ogrn"><div class="footer_text" style="text-align: center;">ООО Грин-Стайл, <br>ИНН 7713725115, ОГРН 1117746196765 <br>127474, г Москва, шоссе Дмитровское, д 80 Б<br>[url="politics.html"]Политика конфиденциальности [/url]</div> </div> <!-- --> <div class="clear"></div> <div class="personal"> </div> </div> <div class="clear"></div> </div> </div> <div style="display: none;" id="cboxOverlay"></div><div style="display: none;" tabindex="-1" role="dialog" class="" id="colorbox"><div id="cboxWrapper"><div><div style="float: left;" id="cboxTopLeft"></div><div style="float: left;" id="cboxTopCenter"></div><div style="float: left;" id="cboxTopRight"></div></div><div style="clear: left;"><div style="float: left;" id="cboxMiddleLeft"></div><div style="float: left;" id="cboxContent"><div style="float: left;" id="cboxTitle"></div><div style="float: left;" id="cboxCurrent"></div><button id="cboxPrevious" type="button"></button><button id="cboxNext" type="button"></button><button id="cboxSlideshow"></button><div style="float: left;" id="cboxLoadingOverlay"></div><div style="float: left;" id="cboxLoadingGraphic"></div></div><div style="float: left;" id="cboxMiddleRight"></div></div><div style="clear: left;"><div style="float: left;" id="cboxBottomLeft"></div><div style="float: left;" id="cboxBottomCenter"></div><div style="float: left;" id="cboxBottomRight"></div></div></div><div style="position: absolute; width: 9999px; visibility: hidden; display: none; max-width: none;"></div></div></body> </html> Если для этого нужно что-то еще, то пишите! Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделать? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т.д.
Не совсем понятно: Может в файле call.php где найти этот файл? В корневом каталоге его нет! Я новичок в этих делах, может кто-то даст более детальный ответ?
А может есть какая нибудь универсальная форма, в которую мне нужно будет тупо вписать свою почту и вставить все это в код HTML?
Нету, попроси в разделе "сделайте за меня"(на халяву) или раздел free-lance(за деньги) там возможно сделают.