Jump to content

Письмо на почту после регистрации на сайте


Go to solution Solved by xavior,

Recommended Posts

Господа профи по симпле подскажите как реализовать что бы после регистрации на сайте приходило письмо на почту тому кто зарегистрировался.с кодом скидки. Цель сделать акцию! Зарегистрируйтесь и получите ...% скидку? Мож уже кто делал и есть альтернатива?

Link to post
Share on other sites
  • Solution

Господа профи по симпле подскажите как реализовать что бы после регистрации на сайте приходило письмо на почту тому кто зарегистрировался.с кодом скидки. Цель сделать акцию! Зарегистрируйтесь и получите ...% скидку? Мож уже кто делал и есть альтернатива?

 

Я вижу так: при клике на зарегистрироваться добавить функцию sendmail, это делается в RegisterView.php перед

 

$_SESSION['user_id'] = $user_id;

 

$message = "Благодарим за регистрацию на сайте Site.com\r\Даем Вам скидочный купон при покупке онлайн: XYZ \r\Site.com";

$message = wordwrap($message, 70, "\r\n");

mail('$email', 'Регистрация на Site.com', $message);

 

как то так

Link to post
Share on other sites

mail('$email', 'Регистрация на Site.com', $message);

Такое гарантирует неотправку писем по причине явной ошибки в адресе...

 

Если по-хорошему, то надо бы использовать имеющееся API (notify->email). Это

1. проще и удобнее,

2. вписывается в идеологию Simpla,

3. не демонстрирует изобретение велосипеда,

4. избавляет от последующей необходимости исправлять недостатки с кодировкой писем.

Link to post
Share on other sites

Я вижу так: при клике на зарегистрироваться добавить функцию sendmail, это делается в RegisterView.php перед

 

$_SESSION['user_id'] = $user_id;

 

$message = "Благодарим за регистрацию на сайте Site.com\r\Даем Вам скидочный купон при покупке онлайн: XYZ \r\Site.com";

$message = wordwrap($message, 70, "\r\n");

mail('$email', 'Регистрация на Site.com', $message);

 

как то так

Вставил не отправляет, может что еще нужно 

Link to post
Share on other sites

Я дал пример реализации но не тестил.

 

Можете для начала симплу поставить на локалхост я б ставил openserver и в логах глянуть куда шлются письма

Link to post
Share on other sites

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

Это единственный адрес есть '$email' (знак доллара + 5 букв) и он совсем не корректный...

 

Чтобы адреса формировались правильно, надо изменить на

mail($email, 'Регистрация на Site.com', $message);

Link to post
Share on other sites

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

Это единственный адрес есть '$email' (знак доллара + 5 букв) и он совсем не корректный...

 

Чтобы адреса формировались правильно, надо изменить на

mail($email, 'Регистрация на Site.com', $message);

Теперь отправляет! Спасибо!

А теперь письмо можно ли вывести в шаблон tpl что бы редактировать не в  файле RegisterView.php  а в админке?

Link to post
Share on other sites

Теперь отправляет! Спасибо!

А теперь письмо можно ли вывести в шаблон tpl что бы редактировать не в  файле RegisterView.php  а в админке?

Конечно можно, достаточно в шаблон передать нужные переменные далее заключить файл шаблона в переменную допустим
$template = $this->design->fetch('template_name.tpl')
и передать эту переменную как текст письма, стандартно в симпле можно сделать так
$this->notify->email('от кого', 'кому', $template);
чтобы было понятнее посмотрите как реализована отправка сообщения обратной связи файл api/Notify.php функция email_order_admin.
Link to post
Share on other sites

Написал статью для версии 2.3.6 но по идее должно работать и на более ранних версиях симплы.

Спасибо Noxter и Kors

 

Стоит еще вопрос по теме скидок. а именно в админке можно присваивать зарегестрировавшимся пользователям группу скидок. Вопрос: можно ли выставить что бы вручную пользователя в группу не добавлять , а что бы после регистрации сразу автоматом все попадали вгруппу покупателей со скидкой?

Link to post
Share on other sites

А можно архив переделать, а то не открывается. Спасибо за статью!

На сайте русским языком написано, что скачка файлов доступна только зарегистрированным пользователям.

Регистрируетесь и будет доступно больше возможностей.

Link to post
Share on other sites

На сайте русским языком написано, что скачка файлов доступна только зарегистрированным пользователям.

Регистрируетесь и будет доступно больше возможностей.

Я понимаю, я зарегился и архив скачал НО он не открывается. ПИШЕТ Архив поарежден или имеет незв. формат

Link to post
Share on other sites

Я понимаю, я зарегился и архив скачал НО он не открывается. ПИШЕТ Архив поарежден или имеет незв. формат

Извините был битый архив, перезалил.

Спасибо за найденную ошибку!

Link to post
Share on other sites
  • 1 year later...

Всегда пожалуйста!

Извините, а как править (от кого) в шаблоне email_registration.tpl ?

а то у меня какая-то каша там, а так в остальном отлично все работает.

 

я в данном файле сверх вставил {$from = 'Название '}   , но ничего не меняется.

Подскажите, пожалуйста, где это прописать.

 

Спасибо большое!

Link to post
Share on other sites

я в данном файле сверх вставил {$from = 'Название '}   , но ничего не меняется.

А с чего Вы взяли что так должно работать? Наугад не бывает так чтобы взяло и заработало само по себе.

Чтобы изменить отправителя в теме письма нужно править функцию email_registration в файле api/Notify.php вот в этой строке:

$this->email($user->email, $subject, $email_template, $this->settings->site_name.' <'.$this->settings->notify_from_email.'>');

$this->settings->site_name.' <'.$this->settings->notify_from_email.'>' поменяйте на свое но не забудьте обернуть в кавычки, к примеру:

$this->email($user->email, $subject, $email_template, 'Simpla-Addons.org');
Link to post
Share on other sites

 

А с чего Вы взяли что так должно работать? Наугад не бывает так чтобы взяло и заработало само по себе.

Чтобы изменить отправителя в теме письма нужно править функцию email_registration в файле api/Notify.php вот в этой строке:

$this->email($user->email, $subject, $email_template, $this->settings->site_name.' <'.$this->settings->notify_from_email.'>');

$this->settings->site_name.' <'.$this->settings->notify_from_email.'>' поменяйте на свое но не забудьте обернуть в кавычки, к примеру:

$this->email($user->email, $subject, $email_template, 'Simpla-Addons.org');

Спасибо большое! Только вот там где от кого, к примеру идет так: "PLAZMA@далее идет мой ник"  не известно от куда он взялся.

 

пишу так:

$this->email($user->email, $subject, $email_template, 'PLAZMA');

в письме идет "PLAZMA@DarAmal" ))  не знаю от куда он его взял.

Link to post
Share on other sites

Спасибо большое! Только вот там где от кого, к примеру идет так: "PLAZMA@далее идет мой ник"  не известно от куда он взялся.

 

пишу так:

$this->email($user->email, $subject, $email_template, 'PLAZMA');
в письме идет "PLAZMA@DarAmal" ))  не знаю от куда он его взял.

 

 

Берется из настроек
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
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.

Loading...
×
×
  • Create New...