Я использовал другой способ загрузить файл javascript, указанный на странице html:
Во-первых, я определяю некоторые переменные внутри тегов <head></head>
, и поэтому я вызываю свой файл javascript:
<head>
...
<script src="/static/js/jquery.js"></script>
<script type=text/javascript>
$(document).ready(function() {
$link_subcat = "{{ url_for('load_subcategories') }}";
$link_cat = "{{ url_for('load_categories') }}";
});
</script>
<script src="{{ url_for('static', filename='finances.js') }}"></script>
...
Это мое содержимое файла javascript:
$(document).ready(function() {
$("#category").change(function() {
$.ajax({
type: "POST",
url: $link_subcat,
data: {cat: $(this).val()},
success: function(data) {
$("#subcategory").html(data);
}
});
});
$("input[name=type]").change(function() {
$.ajax({
type: "POST",
url: $link_cat,
data: {type: $('input[name="type"]:checked').val()},
success: function(data) {
$("#category").html(data);
}
});
});
});
Этот подход работает для меня.
Учитывая номер порта, который вы используете, я попытаюсь использовать SMTP_SSL
вместо SMTP
и starttls()
.
https://docs.python.org/3/ library / smtplib.html :
Экземпляр SMTP_SSL ведет себя точно так же, как и экземпляры SMTP. SMTP_SSL следует использовать для ситуаций, когда SSL требуется с самого начала соединения, а использование starttls () не подходит. Если хост не указан, используется локальный хост. Если порт равен нулю, используется стандартный порт SMTP-over-SSL (465).
STARTTLS
является формой оппортунистической TLS , предполагается для использования со старыми протоколами, которые первоначально не поддерживали TLS, для обновления соединения. Порт 465 использовался до введенияSTARTTLS
дляSMTPS
, который теперь устарел.import smtplib s = smtplib.SMTP_SSL('cpanel.freehosting.com', 465) s.login("myusername", "mypassword") message = "Message_you_need_to_send" s.sendmail("myemailid", "receiver_email_id", message) s.quit()
В качестве альтернативы вы должны использовать порт 25 с исходным кодом.
import smtplib s = smtplib.SMTP('cpanel.freehosting.com', 25) s.starttls() s.login("myusername", "mypassword") message = "Message_you_need_to_send" s.sendmail("myemailid", "receiver_email_id", message) s.quit()
В обоих примерах вы можете полностью опустить номер порта, когда используете порты по умолчанию.