Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не приходят письма на почту


Recommended Posts

Добрый вечер!  
Сайт: https://mertenshop.com.ua
Ostore 2.3
Сделал форму для быстрого заказа, но не получается отправить данные на почту. Помогите новичку, пожалуйста! 
Работает скрипт открытие и закрытие popup окошока, а с отправкой письма на почту не выходит. Я не могу понять, где проблема, потому что отдельно от всего сайта всё работает и приходит (https://mertenshop.com.ua/test/html-form.html) , а в шапке сайта ничего не происходит (

<div class="callback-request">
								<div class="callback-button" rel="popup1"> Заказать звонок </div>

							<!--POPUP-->
							<div class="overlay_popup"></div>	
						<div class="popup-container"id="popup1">
							
							<form class="callback-form" id="callback-form" name="callback-form">
									<div class="form-row">
										<label class="name-icon" for="name"></label>
										<input type="text" class="send-field" name="name" placeholder="Ваше имя" value="" id="name">
									</div>
									<div class="form-row">
										<label class="phone-icon" for="phone"></label>
										<input type="text" placeholder="Ваш телефон" value="" id="phone" name="phone"  class="send-field phone">
									</div>

						<div class="form-submit">
							<input type="submit" value="заказать" class="submit-button send-field" name="callback_submit">
						<div class="results1"></div>

								<div class="popup-form-preload"></div>
							</form>
							</div>
						</div>
						<div class="popup-result">
							<div class="close">+</div>
								<div class="popup-result-content">Ваш запрос успешно отправлен!</div>
						</div>
						<!--POPUP-->
					</div>
<?php

$recepient = "[email protected]";
$siteName = "Ajax-форма";

$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$message = "Имя: $name \nТелефон: $phone";

$pagetitle = "Заявка с сайта \"$siteName\"";
 mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient"); 

?>
//открыть и закрыть popup 
	$('.callback-button').click(function() {
    var popup_id = $('#' + $(this).attr("rel"));
    $(popup_id).show();
    $('.overlay_popup').show();
})
$('.overlay_popup').click(function() {
    $('.overlay_popup, .popup-container').hide();
})
// Отправка заявки 
$(document).ready(function() {
	$('#callback-form').submit(function() { // проверка на пустоту заполненных полей. Атрибут html5 — required не подходит (не поддерживается Safari)
		if (document.form.name.value == '' || document.form.phone.value == '' ) {
			valid = false;
			return valid;
		}
		$.ajax({
			type: "POST",
			url: "/formpopup/mail.php",
			data: $(this).serialize()

		}).done(function() {
			
			$(this).find('input').val('');
			$('#callback-form').trigger('reset');
		});
		return false;
	});
});
/*
// Закрыть попап «спасибо»
$('.close').click(function() { // по клику на крестик
	$('.popup-result').fadeOut();
});

$(document).mouseup(function (e) { // по клику вне попапа
    var popup = $('.popup');
    if (e.target!=popup[0]&&popup.has(e.target).length === 0){
        $('.popup-result').fadeOut();
    }
});*/

// Маска ввода номера телефона (плагин maskedinput)
$(function($){
	$('[name="phone"]').mask("+38(999) 999-9999");
});

 

Надіслати
Поділитися на інших сайтах


в opencart есть встроенная библиотека для отправки писем, а SMTP почта настраивается в админке.

Возьмите пример отправки письма, например из catalog/model/checkout/order.php

$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setHtml($this->load->view('mail/order', $data));
$mail->setText($text);
$mail->send();

так в 2018 году отправляются письма.

а о функции mail лучше забыть.

Надіслати
Поділитися на інших сайтах

4 часа назад, TeslaFeo сказал:

в opencart есть встроенная библиотека для отправки писем, а SMTP почта настраивается в админке.

Возьмите пример отправки письма, например из catalog/model/checkout/order.php


$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setHtml($this->load->view('mail/order', $data));
$mail->setText($text);
$mail->send();

так в 2018 году отправляются письма.

а о функции mail лучше забыть.

А есть документация по встроенной библиотеке, а то нужно разобраться сначала) 

Надіслати
Поділитися на інших сайтах


3 часа назад, Sheedy сказал:

А есть документация по встроенной библиотеке, а то нужно разобраться сначала) 

это PHPMailer. По нему есть инфа в гугле :)

По названиям методов понятно, что зачем нужно.

На деле, всё примерно так:
 

$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
// всё, что выше, настраивается в админке. Код можно просто скопировать и не вникать

$mail->setTo($this->config->get('config_email'));  // email получателя.
$mail->setFrom($this->config->get('config_email'));  //  email отправителя.
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')); // Имя отправителя
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));  //  Тема письма
$mail->setHtml($this->load->view('mail/order', $data));  html шаблон письма
$mail->setText($text); //  альтернативный текст письма. Будет отображаться в случае, если почновый клиент получателя не поддерживает html письма.
$mail->send();

Вот и вся документация :)

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.