За последние 24 часа нас посетили 22320 программистов и 1638 роботов. Сейчас ищут 1143 программиста ...

Рассылка mail() PHP+MYSQL

Тема в разделе "PHP и базы данных", создана пользователем AMБАЛ, 13 апр 2010.

  1. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
    Здравствуйте, братья по разуму :)



    коды удалил поймите меня правильно, не хочу способствовать спамерам
     
  2. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    PHP:
    1.  
    2. <?php
    3.     while($row = mysql_fetch_array($res)){
    4.         // Some logic
    5.     }
    6. ?>
    7.  
    Или вопрос в другом?
     
  3. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
    тут тоже ...
     
  4. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    while($row = mysql_fetch_assoc($res))
    {
    # $nam = $row[nam];
    # $status = $row[status];
    # $login = $row[login];
    # $post= $row[post];
    # $sta= $row[sta];
    #
    # $to= "$nam <$login>" . ", " ; //обратите внимание на запятую
    # $to .= "$nam <$login>";
    #
    # /* тема/subject */
    # $subject = "Здравствуйте $nam, ";
    #
    # /* сообщение */
    # $message = 'бла бла бла
    # ';
    #
    # /* Для отправки HTML-почты вы можете установить шапку Content-type. */
    # $headers= "MIME-Version: 1.0\r\n";
    # $headers .= "Content-type: text/html; charset=utf-8\r\n";
    #
    # /* дополнительные шапки */
    # $headers .= "From:Мой сайт <test@gmail.com>\r\n";
    #
    #
    # /* и теперь отправим из */
    # mail($to, $subject, $message, $headers);
    }

    Только отправлять по сто "майлов" не выйдет скорей всего, заблокирует злой админ твою рассылку, если с ним это все не оговорено и у тебя обычный хостинг. Возможно, не все хостинги ограничивают рассылку писем, но у меня, например, оговорено про 4 письма в минуту.
     
  5. ShamahN

    ShamahN Активный пользователь

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Угу, и аргумент "to" функции mail может принимать множество адресов.
     
  7. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    ShamahN
    Ниасилил.

    Apple
    Эт да, с циклом тут по-индусски выглядит. Только вопрос про массовую отправку и лимит не раскрыт :)
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    осталось только все клинты научить понимать адекватно скрытые адреса
     
  9. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  10. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Padaboo
    уже чтото.. только причем тут скрытие адреса отправителя к многократному отправлению? Или я еще не полностью асилил?))
     
  11. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
  12. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Уже подсказывали - в цикле строй одну строку $to, после цикла отправляй через mail.
    С каждым постом твои куски кода кардинально меняются.
     
  13. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
    поменял логин на емаил, чтоб понятней было

    Блин, Апельсин, чего то не получается. С циклами не очень-то знаком, буду поискать :)
     
  14. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    AMБАЛ
    функцию mail вообще не заноси в цикл. Твоя задача собрать в переменную $to все адреса через запятую, куда будешь отправлять. Вот для этого и используй цикл. Как будет готова переменная эта - с помощью mail уже подставляешь $to (там все адреса) и улюлю твои имейлы полетели.
     
  15. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    PHP:
    1. <?
    2.  $sql = mysql_query ('select * from subscriptions limit 100');
    3. $to='';
    4.  while ($row = mysql_fetch_assoc($sql)){
    5. $to.=$row['email'].',';
    6. }
    7. $to=substr($to, 0, -1);
    8. mail ($to, 'Subscription', 'Text');
    9.  ?>
    как то так,если что сами поправьте в последнее время отвык от php
     
  16. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    ПОправлю =)

    PHP:
    1. <?php
    2.  
    3. // ( .. Code )
    4.  
    5. $emails = array();
    6.  
    7. while($row = mysql_fetch_object($sql)) {
    8.     $emails .= $row->email;
    9. }
    10.  
    11. // Send
    12. mail(implode(",", $emails), 'Subject', 'Message');
    13.  
    14. ?>
     
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    совсем другой подход)все аккуратно и лаконично но боюсь породит еше вопросы)
    зы: как я тебе завидую, сижу изучаю ядро unix в котором все на C написано ^^
     
  18. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
  19. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    3 - лимит принимает 2 числа по моему с какой строки и сколько
    5- где дальше по коду используется $res?
    8-при каждой итерации цикла вы переопределяете переменную как пустой массив?
    13,14,15,16,17 ячейка массива указывается вроде как в ординарных кавычках $row['nam'];
    22 в $to вы присваиваете только последний полученный $row['nam']; aka $nam из цикла вроде как
    29,30 поправьте

    в качестве аватара разрешены только личные фото
     
  20. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
  21. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    1. $emails должно быть массивом, а не строкой
    2. все эти адреса должны быть в Bcc. Иначе все адрессаты будут видны получателю письма.

    3. 2All: Когда будет пример рассылки по одному письму с sleap, отметками в бд, заголовками и всякими вкусностями?
     
  22. AMБАЛ

    AMБАЛ Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    11
    Симпатии:
    1
    ХА-ХА я Всех победил!!!!!!!!!!!!!!!!!!!!!!!! :D


    Всем кто участвовал до этого поста, пишите, скину код в личку.
     
  23. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    AMБАЛ
    скинь его Luge, он себе давно такой хотел ;D