PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
tstas Отправлено: 15 Февраля, 2017 - 18:12:53 • Тема: Автоматическая отправка нескольких писем подписчику • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 26
Всем привет!

Есть плагин для WP называется newsletter
В нем есть отправка приветственного письма (одного)
Мне надо чтобы отправлялась серия из 5 штук при подписке
Количество писем я увеличил теперь не одно, а несколько
Добавил в файле optons.php еще одну форму для письма и так можно сделать
все пять писем.
Вот фрагменты кода файла
PHP:
скопировать код в буфер обмена
  1.  
  2. // пропуск части кода
  3.        
  4.         if (empty($controls->data['confirmed_text'])) {
  5.             $controls->data['confirmed_text'] = $defaults['confirmed_text'];
  6.         }
  7.  
  8.         if (empty($controls->data['confirmed_subject'])) {
  9.             $controls->data['confirmed_subject'] = $defaults['confirmed_subject'];
  10.         }
  11.  
  12.         if (empty($controls->data['confirmed_message'])) {
  13.             $controls->data['confirmed_message'] = $defaults['confirmed_message'];
  14.         }
  15.  
  16.          if (empty($controls->data['confirmed1_text'])) {
  17.             $controls->data['confirmed1_text'] = $defaults['confirmed1_text'];
  18.         }
  19.  
  20.         if (empty($controls->data['confirmed1_subject'])) {
  21.             $controls->data['confirmed1_subject'] = $defaults['confirmed1_subject'];
  22.         }
  23.  
  24.         if (empty($controls->data['confirmed1_message'])) {
  25.             $controls->data['confirmed1_message'] = $defaults['confirmed1_message'];
  26.         }
  27.         $controls->data['confirmed_message'] = NewsletterModule::clean_url_tags($controls->data['confirmed_message']);
  28.         $controls->data['confirmed_text'] = NewsletterModule::clean_url_tags($controls->data['confirmed_text']);
  29.         $controls->data['confirmed1_message'] = NewsletterModule::clean_url_tags($controls->data['confirmed1_message']);
  30.         $controls->data['confirmed1_text'] = NewsletterModule::clean_url_tags($controls->data['confirmed1_text']);
  31.         $controls->data['confirmation_text'] = NewsletterModule::clean_url_tags($controls->data['confirmation_text']);
  32.         $controls->data['confirmation_message'] = NewsletterModule::clean_url_tags($controls->data['confirmation_message']);
  33.  
  34.         $controls->data['confirmed_url'] = trim($controls->data['confirmed_url']);
  35.         $controls->data['confirmed1_url'] = trim($controls->data['confirmed1_url']);
  36.         $controls->data['confirmation_url'] = trim($controls->data['confirmation_url']);
  37.  
  38.      
  39.  
  40. <!-- WELCOME/CONFIRMED EMAIL -->
  41.                         <tr valign="top">
  42.                             <th>
  43.                                 Welcome email<br /><small>The right place where to put bonus content link</small>
  44.                             </th>
  45.                             <td>
  46.                                 <?PHP $controls->email('confirmed', 'wordpress', true); ?>
  47.                                 <?PHP $controls->button('test-confirmed', 'Send a test'); ?>
  48.                                 <p class="description">
  49.                                     Email sent to the user to confirm his subscription, the successful confirmation
  50.                                     page, the welcome email. This is the right message where to put a <strong>{unlock_url}</strong> link to remember to the
  51.                                     user where is the premium content (if any, main configuration panel).                                    It's a good idea to add the <strong>{unsubscription_url}</strong> too and the <strong>{profile_url}</strong>
  52.                                     letting users to cancel or manage/complete their profile.
  53.                                 </p>
  54.                             </td>
  55.                         </tr>
  56.  
  57.  
  58.   <!-- WELCOME/CONFIRMED EMAIL -->
  59.                         <tr valign="top">
  60.                             <th>
  61.                                 Welcome email<br /><small>The right place where to put bonus content link</small>
  62.                             </th>
  63.                             <td>
  64.  
  65.                                 <?PHP $controls->email('confirmed1', 'wordpress', true);
  66.                                  
  67.                                  ?>
  68.  
  69.  
  70.                                 <?PHP $controls->button('test-confirmed1', 'Send a test'); ?>
  71.                                 <p class="description">
  72.                                     Email sent to the user to confirm his subscription, the successful confirmation
  73.                                     page, the welcome email. This is the right message where to put a <strong>{unlock_url}</strong> link to remember to the
  74.                                     user where is the premium content (if any, main configuration panel).                                    It's a good idea to add the <strong>{unsubscription_url}</strong> too and the <strong>{profile_url}</strong>
  75.                                     letting users to cancel or manage/complete their profile.
  76.                                 </p>
  77.                             </td>
  78.                         </tr>
  79.  
  80.  
  81.                     </table>
  82.  

Теперь мне нужно, чтобы это второе письмо уходило новому подписчику спустя 10 минут после первого
Я пробовал поставить следующее
PHP:
скопировать код в буфер обмена
  1.  
  2. <!-- WELCOME/CONFIRMED EMAIL -->
  3.                         <tr valign="top">
  4.                             <th>
  5.                                 Welcome email<br /><small>The right place where to put bonus content link</small>
  6.                             </th>
  7.                             <td>
  8.                                                        
  9.                                                         add_action( 'true_my_hook', 'wp-email', 10, 1 );
  10.  
  11.                                 <?PHP $controls->email('confirmed1', 'wordpress', true);
  12.                                                                
  13.                                   if (wp_schedule_single_event( time() + 300, 'true_my_hook',);
  14.                                  ?>                    
  15.  

Но не работает
Подскажите пожалуйста, как по Cron запустить отправку второго письма
Всем заранее спасибо!
tstas Отправлено: 03 Мая, 2016 - 21:17:30 • Тема: Почтовая рассылка • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 106
Спасибо
tstas Отправлено: 03 Мая, 2016 - 20:42:13 • Тема: Почтовая рассылка • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 106
Логично! Спасибо. Смутило, что отправка на 3 адреса доходит, а на 103 включая мои 3 нет. И документация хостера "Отправка почты из скриптов". Может просто скрипт не расчитан на такой объем? Но всё равно спасибо.
tstas Отправлено: 03 Мая, 2016 - 19:43:11 • Тема: Почтовая рассылка • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 106
То есть скрипт рабочий и то что пишет хостер что нужно указать:
Путь к нему, который Вы должны использовать в скриптах, - /usr/sbin/sendmail -t.
tstas Отправлено: 03 Мая, 2016 - 18:41:43 • Тема: Почтовая рассылка • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 106
В базу вбил 3 своих почты, отправил, всё чудесно! Прикрепил базу из 5000 и три своих адреса, к себе почта не дошла, прикрепил базу из 1000 и три своих, тишина. Отправил 100 со своими адресами, пришли три письма, отправил ещё 100 и тишина.
tstas Отправлено: 03 Мая, 2016 - 18:01:22 • Тема: Почтовая рассылка • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 106
Здравствуйте! Подскажите, совсем не силён в PHP. Необходимо организовать почтовую рассылку по базе подписчиков. Есть скрипт

PHP:
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.   <meta charset="UTF-8">
  6.   <title>Рассылка писем на Email</title>
  7.   <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <div class="email">
  11.   <div class="text">
  12.     <p>Введите тему письма</p>
  13.     <p>Введите адрес отправителя</p>
  14.     <p>Выберите базу Email адресов в формате csv</p>
  15.     <p>Выберите письмо в формате html</p>
  16.   </div>
  17.   <div class="input">
  18.     <form action="" method="POST" enctype="multipart/form-data">
  19. <input type="text" name="subject" required><br>  
  20. <input type="text" name="email" required><br>
  21.  <input type="file" name="address" accept='.csv' required><br>
  22.  <input type="file" name="text" accept='.html' required><br>
  23.   <input type="submit" name="submit" value="отправить">
  24.  </div>
  25.  
  26.   </form>
  27.  
  28. </div>
  29. </body>
  30. </html>
  31.  
  32.  
  33. <?PHP
  34. // несколько получателей
  35. if(isset($_POST['submit'])){
  36.  
  37.   $subject = $_POST['subject'];
  38.   $email = $_POST['email'];
  39.   $address = file_get_contents($_FILES['address']['tmp_name']);
  40.   $address= explode("\n", $address);
  41.   $j = count($address)-1;
  42.  
  43.   $message = file_get_contents($_FILES['text']['tmp_name']);
  44.   for ($i=0; $i <$j ; $i++) {
  45.     $to = $address[$i];
  46.     $headers  = 'MIME-Version: 1.0' . "\r\n";
  47.     $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  48.     $headers .= 'From:  <'.$email.'>' . "\r\n";
  49.     mail($to, $subject, $message, $headers);
  50.   }
  51.   echo '<script type="text/javascript">alert("Готово")</script>';
  52.  
  53.  
  54.   // Where the file is going to be placed
  55. }
  56.  
  57.  
  58. ?>
  59.  


На три своих почты отправляет прекрасно, но по базе не доходит.

Хост можордомо, пишут следующее

Отправка почты из скриптов
Вы можете отправлять почту из скриптов Вашего сайта без ограничений. Почти без ограничений. Главное условие - отсутствие жалоб на спам с Вашего сайта. Если будут жалобы, то нам, к сожалению, придется запретить Вам отправку почты.

Первый и главный момент при отправке письма - путь к почтовой программе. В качестве почтового демона у нас установлен Exim. Путь к нему, который Вы должны использовать в скриптах, - /usr/sbin/sendmail -t.

Важно! Если Ваш скрипт отправляет письма только Вам, то указание отправителя не принципиально. Однако это становится актуальным в случае рассылки писем, так как письмо должно содержать поле From:, чтобы не казаться анонимкой.

При использовании Perl отправка письма происходит вызовом /usr/sbin/sendmail и печатью в поток. Заголовок From: указывается явно. При использовании PHP письмо можно отправить вышеописанным образом или используя функцию mail(). Во втором случае заголовок From: указывается в четвертом параметре функции среди других необязательных заголовков.

Есть причины, по которым письма не доходят, и почтовые сервера генерируют письма с сообщением об ошибке. Эти письма направляются на адрес, указанный в заголовках потерявшегося письма в поле Reply-To:.

Как формируется это поле? В поле Reply-To: указывается обратный адрес вида admin@sitename.majordomo.ru. Для того чтобы установить в данное поле Ваш реальный адрес, свяжитесь, пожалуйста, с нашей службой технической поддержки по почте: support@majordomo.ru. Мы сделаем специфические настройки на сервере, после чего Вы сможете использовать добавочный ключ "-f" с Вашим адресом в команде mail(): mail($email, $subject, @body, "From: your_mail@domain.ru", "-fyour_mail@domain.ru").

Подскажите пожалуйста, куда вставить /usr/sbin/sendmail -t.

Заранее спасибо!
tstas Отправлено: 14 Января, 2014 - 09:12:09 • Тема: Переадресация на страницу • Форум: Вопросы новичков

Ответов: 2
Просмотров: 155
Спасибо Bio man! Но по моему это что то не то. Мне нужно чтобы посетитель сайта при нажатии на скачивания файла уходил на нужную мне страницу, а не на пустую с возвратом на страницу файла. Наверно нужно как то объединить закачку с переадресацией на нужную страницу. Спасибо.
tstas Отправлено: 13 Января, 2014 - 21:30:18 • Тема: Переадресация на страницу • Форум: Вопросы новичков

Ответов: 2
Просмотров: 155
Здравствуйте! Есть файлы на скачивание со счетчиком, в коде стоит header("location:...rar)
на загрузочный файл. Нужно сделать так чтобы при щелчке по ссылки на скачивание открывалась бы не пустая страница, а определенная с информацией и параллельно скачивался бы файл.

вот код
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. // Счетчик по первому файлу:
  3.  
  4. if ($_GET['book']==1) {
  5. header("location: /1_13130.2009.rar"); //Здесь указываете путь к файлу, который нужно скачать
  6. $file=fopen("book1.txt","a+"); //book1.txt - это имя файла, в котором будет храниться статистика закачек
  7. flock($file,LOCK_EX);
  8. $count=fread($file,100);
  9. $count++;
  10. ftruncate($file,0);
  11. fwrite($file,$count);
  12. flock($file,LOCK_UN);
  13. fclose($file);
  14. }
  15.  

Подскажите как поставить дополнительную переадресацию на другую страницу. Зарание спасибо.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB