Элемент, внутри которого вы вводите HTML, - это <div class="echo">
, где ваш код jQuery ищет что-то еще:
$(this).parent('.echomessage')
// ^---- should be ".echo"
Сказав это, я бы порекомендовал вам пересмотреть скрипт на стороне сервера. чтобы вернуть JSON-кодированный ответ и переместить логику его отображения в событие success
следующим образом:
$.ajax({
url: "actions.php",
type: "POST",
data: new FormData(this),
success: function(response) {
// response could be something like {"success": true, "message": "aaa.txt deleted"}
$("<span class='closebtn'>CLOSE</span>")
.appendTo(".echo")
.after("<br>", response.message)
.on("click", function() {
$(this).parent(".echo").fadeOut(500);
});
$(".echo").html(data);
},
});
Во-первых, использование функции mail (), поставляемой с PHP, не является оптимальным решением. Он легко помечается как спам, и вам необходимо настроить заголовок, чтобы убедиться, что вы отправляете электронные письма в формате HTML правильно. Что касается того, будет ли работать этот фрагмент кода, он будет работать, но я сомневаюсь, что вы правильно разместите HTML-код внутри него без указания дополнительных заголовков
. Я предлагаю вам взглянуть на SwiftMailer , который имеет поддержку HTML, поддержку различных типов MIME и аутентификацию SMTP (что с меньшей вероятностью пометит вашу почту как спам).
Существует больше в него кроме использования программного обеспечения. Если Вы могли бы создать объемную программу подписчика электронной почты, которая отправляет периодически. Скажите, отправите ли Вы 5 000 получателей, создать цикл, который отправил бы 38 списков на отправку затем паузы в течение 10 секунд. У меня есть фактический опыт при отправке 500 вручную в дни в течение прошлых недель, и до сих пор у меня есть хорошие результаты.
Другое соображение содержание Вашей электронной почты. В наше время это - стандарт, что необходимо поместить физический рабочий адрес и "отказываться от подписки" уклонение. Это факторы, которые проверяет большинство почтовых серверов получателя. Если у Вас не будет их, то они классифицируют Вас как спаммера.
Mailchimp является моей лучшей рекомендацией использовать, если Вы хотите заплаченного поставщика услуг в отправке в Вашего почтового подписчика, НЕ отправляющего незапрашиваемый или холодный почтовый маркетинг.
Hope это помогает.
Я бы вставлял все электронные письма в базу данных (вроде как в очереди), а затем обрабатывал их по одному, как вы это делали в своем коде (если вы хотите использовать swiftmailer или phpmailer и т.д., вы тоже можете это сделать.)
После отправки каждого письма обновите базу данных, чтобы записать дату / время его отправки.
Поместив их в базу данных, вы получите
Имейте в виду, как автоматизировать возвращенные или недействительные электронные письма, чтобы их можно было автоматически удалять из вашего списка.
Если вы отправляете так много писем, вы обязательно получите несколько отказов.
Also the Pear packages:
http://pear.php.net/package/Mail_Mime http://pear.php.net/package/Mail http://pear.php.net/package/Mail_Queue
sob.
PS: DO NOT use mail() to send those 5000 emails. In addition to what everyone else said, it is extremely inefficient since mail() creates a separate socket per email set, even to the same MTA.
Вы можете рассмотреть возможность использования CRON для такого рода операций. Одновременная массовая рассылка, безусловно, нехороша, это может быть определено как спам, ddos, сбой вашего сервера и т. Д.
Таким образом, CRON может быть отличным решением, отправьте 100 писем за раз, затем подождите несколько минут, следующие 100, и т. д.
Не отправляйте электронную почту 5000 людям с использованием стандартных инструментов PHP. Большинство интернет-провайдеров забанят вас за секунды, и вы даже не узнаете об этом.
Why don't you rather use phplist? It's also built on top of PHP Mailer and a lot of industry leaders are using it. I've used it myself a couple of times to send out bulk mails to my clients. The nice thing about phplist is that you can throttle your messages on a domain level plus a time limit level.
What we've also done with a couple of internal capture systems we've got was to push our user base to the mailling list and then have a cron entry triggering a given mail each day. The possibilities are endless, that's the awesome thing about open source!
Это совет, а не ответ: вам гораздо лучше использовать специальное программное обеспечение для списков рассылки. mailman является часто используемым примером, но может быть достаточно чего-нибудь более простого, например mlmmj . Отправка массовых писем на самом деле является более сложной задачей, чем кажется на самом деле. Вы должны не только отправлять почту, но и отслеживать «мертвые» адреса, чтобы ваша почта или, что еще хуже, ваш почтовый сервер не были помечены как спам. Вы должны обрабатывать людей, отказывающихся от подписки по той же причине.
Вы можете реализовать эти вещи самостоятельно, но особенно обработка отказов - трудная и неблагодарная работа. Использование менеджера списков рассылки значительно упростит задачу.
Что касается того, как сделать вашу почту приемлемой для Yahoo, это совсем другой вопрос. Несмотря на все его недостатки, они, кажется, придают большое значение SPF и DomainKey. Вам, вероятно, придется их реализовать, что потребует сотрудничества со стороны администратора вашего почтового сервера.