Jump to content
Sign in to follow this  
Simbiozik

Письма приходят от хоста

Recommended Posts

Когда посетитель оставляет заявку через обратную форму, ко мне на почту приходит письмо от отправителя  [email protected]  вместо той почты, которой указал посетитель сайта. Хостинг сказал следующие:  нужно поправить форму для отправки писем, подставляя в поле From [email protected]******.ru, а ящик отправителя в Reply-to. 

Подскажите как это сделать? 

Share this post


Link to post
Share on other sites

найти файл mail.php, и забить в гугле php mail и будет Вам счастье

Share this post


Link to post
Share on other sites

На какую почту приходит, стандартную?
Почта для домена настроена?

Share this post


Link to post
Share on other sites
12 минут назад, thentru сказал:

На какую почту приходит, стандартную?
Почта для домена настроена?

на почту приходит, которая зарегистрирована под домен формата [email protected]домен.ru 

Все настроено, даже хостеры заглядывали в админку и сказали сделать вышесказанное 

Share this post


Link to post
Share on other sites

1) Форма стандартная или сторонняя ? 
2) Почта в настройках от хостера или ваша личная ?

@interpol переставайте давать глупые советы

Share this post


Link to post
Share on other sites
15 минут назад, interpol сказал:

найти файл mail.php, и забить в гугле php mail и будет Вам счастье

не подскажите где он лежит?

Share this post


Link to post
Share on other sites
Только что, ArtemPitov сказал:

1) Форма стандартная или сторонняя ? 
2) Почта в настройках от хостера или ваша личная ?

@interpol переставайте давать глупые советы

форма стандартная, на странице "связаться с нами"

Почта в настройка от хостера

Share this post


Link to post
Share on other sites

Была подобная проблема у Бегет, но с обычной почтой.
После настройки почты для домена письма стали приходить нормально

Такая проблема только через обратную форму? В таком случае, обращайтесь в автору шаблона/модуля, откуда у вас эта форма обратной связи

Share this post


Link to post
Share on other sites

@Simbiozik, версия движка какая ? 

Share this post


Link to post
Share on other sites
9 минут назад, thentru сказал:

Была подобная проблема у Бегет, но с обычной почтой.
После настройки почты для домена письма стали приходить нормально

Такая проблема только через обратную форму? В таком случае, обращайтесь в автору шаблона/модуля, откуда у вас эта форма обратной связи

http://hiregame.ru/contact-us/ вот адрес. Это стандартная страница с стандартной формой. Только лишь шаблон поставлен другой

Нужно ли, что то настраивать в разделе настройки-почта?

Edited by Simbiozik

Share this post


Link to post
Share on other sites

откройте catalog\controller\information\contact.php

и замените
 

$mail->setFrom($this->request->post['email']);

на

$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

обновите модификаторы после этого

Edited by thentru

Share this post


Link to post
Share on other sites

catalog\controller\information\contact.php

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->request->post['email']);

замените на 

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

 

Share this post


Link to post
Share on other sites
7 минут назад, ArtemPitov сказал:

catalog\controller\information\contact.php

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->request->post['email']);

замените на 

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

 

Все получилось, спасибо!  Только в пришедшем сообщении не показывается почта, которую указал при заполнении формы. Только текст сообщения, имя его. Но теперь письмо приходит от моей почты

Share this post


Link to post
Share on other sites

@Simbiozik Посмотрите, там есть обратный адрес 

Share this post


Link to post
Share on other sites
1 минуту назад, ArtemPitov сказал:

@Simbiozik Посмотрите, там есть обратный адрес 

 

15 минут назад, thentru сказал:

откройте catalog\controller\information\contact.php

и замените
 

$mail->setFrom($this->request->post['email']);

на

$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

обновите модификаторы после этого

Спасибо! все заработало

Share this post


Link to post
Share on other sites
5 часов назад, Simbiozik сказал:

 

Спасибо! все заработало

Ты *** ? Ты спросил где находится я сказал почему он глупый, может глупый тот кто не понял ?

Edited by tim21701
Не переходите на личности, у нас это не принято.

Share this post


Link to post
Share on other sites

У меня изначально было прописано

            $mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->config->get('config_email'));
            $mail->setReplyTo($this->request->post['email']);

Но после пересылки видим только почту моего домена. Почта, которая указывается клиентом при отправке сообщения теряется в процессе пересылки с почтового сервера Beget. Вот на картинке видно...Что делать господа? Настраивать SMPT?

Вот что пишет ТП Мария Михайловна

Цитата

В связи с массовыми рассылками спама и мошеннических писем с наших серверов, был внесен ряд изменений в работу функции php mail(),
в частности:

При отправке писем со сторонних доменов (не на наших DNS серверах, например mail.ru, gmail.com, проверка производится по A-записи домена) выполняется замена адреса отправителя в поле From: на технический адрес на сервере вида [email protected]
оригинальное содержимое поля From: подставляется в заголовок Reply-To: чтобы сохранить возможность ответа по почтовому адресу, который был указан для связи в форме обратной связи сайта.

Чтобы избежать замены заголовков, Вам необходимо использовать ящик на домене сайта в качестве адреса отправителя, также необходимо обеспечить корректное формирование заголовков письма (в том числе и Reply-To:) при отправке писем из обратной связи.

Это значит что в настройках, при установке вашей CMS, рекомендуется использовать почту в пределах адреса сайта.
Например:
Для beget.com - будет [email protected]

Для кириллических доменов (сайт.рф) необходимо указывать имя в формате punycode.
Например:
Для [email protected]сайт.рф - будет

[email protected]

После того, как вы установите корректный заголовок “From:” для ваших писем, письма начнут приходить корректно.

 

 

mail.png

Edited by Jarom
Забыл картинку прикрепить=)

Share this post


Link to post
Share on other sites

Вот пишет вменяемый человек из поддержки:

Цитата

Добрый день еще раз,

нет, в поле FROM как раз не должно быть адреса, указанного посетителей на сайте. этот адрес надо подставлять в заголовок REPLY-TO. Он предназначен для того, чтобы отвечать на указанный адрес (что и требуется), а FROM предназначен для того, чтобы определить, откуда, с какого сайта либо сервиса пришло письмо. И в этом заголовке должен быть адрес с доменом с нашей А-записью (то есть, грубо говоря, с доменом сайта, ктоорый располагается у нас).

Нужно проверить настройки отправляющего письма плагина, чтобы там был указан именно такой адрес ([email protected]вашдомен.ру).
Адрес посетителя при этом может подставляться в REPLY-TO, и тогда все будеет отправляться нормально и без автозамены.

Я не пойму..что не так то? Написано выше так же как он и говорит:

 

$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

 

Edited by Jarom

Share this post


Link to post
Share on other sites

не совсем по теме но и по теме тоже, кому нужно тот поймет

убираем название магазина из заголовков писем

/system/library/mail оба файла правил

 

$header .= 'From: ' . $this->from . PHP_EOL;
        //$header .= 'From: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->from . '>' . PHP_EOL;
        
        if (!$this->reply_to) {
            //$header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->sender) . '?= <' . $this->from . '>' . PHP_EOL;
            $header .= 'Reply-To: ' . $this->from . PHP_EOL;
        } else {
            $header .= 'Reply-To: ' . $this->reply_to .  PHP_EOL;
            //$header .= 'Reply-To: =?UTF-8?B?' . base64_encode($this->reply_to) . '?= <' . $this->reply_to . '>' . PHP_EOL;
        }

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.