Ваш код правильный!
function changeImg() {
var x = document.getElementById("card_1_img");
x.src = "https://www.w3schools.com/images/compatible_firefox.gif";
}
Ну, ответы корректны, необходимо прочитать документы, но для примера универсального пути:
def get_first_text_part(msg):
maintype = msg.get_content_maintype()
if maintype == 'multipart':
for part in msg.get_payload():
if part.get_content_maintype() == 'text':
return part.get_payload()
elif maintype == 'text':
return msg.get_payload()
Это подвержено некоторой аварии, поскольку возможно, что сами части могли бы иметь мультичасти, и это действительно только возвращает первую текстовую часть, таким образом, это могло бы быть неправильно также, но можно играть с ним.
Столь сумасшедший, как это могло бы казаться, причина иногда строка, иногда семантика списка дана в документации. В основном многослойные сообщения возвращаются как списки.
Это мог бы быть многослойный MIME
См. http://docs.python.org/library/email.parser.html#additional-notes
Вместо того, чтобы просто искать подчасть, используйте walk() для перебора содержимого сообщения
def walkMsg(msg):
for part in msg.walk():
if part.get_content_type() == "multipart/alternative":
continue
yield part.get_payload(decode=1)
Метод walk() возвращает итератор, с которым вы можете выполнить цикл ( т.е. это генератор). Если сообщение не является контейнером частей (т. е. не имеет вложений или альтернатив), метод walk() вернет итератор с одним элементом — само сообщение.
Вы хотите пропустить любые «составные» части, так как они просто склеиваются.
Приведенный выше метод возвращает все читаемые части. Вы можете расширить это, чтобы просто возвращать текстовые части, если они содержат информацию, которую вы ищете.
Обратите внимание, что в Python 2.5 методы get_type(), get_main_type() и get_subtype() были удалены -> http://docs.python.org/library/email.message.html#email .message.Message.walk