Как передать файл на почту,через SMTP сервер?

Тема в разделе "WASM.NETWORKS", создана пользователем Multimetr, 13 сен 2006.

  1. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Спасибо тебе,человеческое.Надо с тобой переписку наладить.Чем FASM тебе нравится?
     
  2. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Что за тег code?
     
  3. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Multimetr

    1. Дык я только начал его юзать, до этого около 1.5 года сидел на масме.
    1.1 Можно в личку. Или в асю - как тебе удобнее.
    2. Это кнопка отвечающая за оформление кода. Так просто приятнее читать :)
     
  4. Nata

    Nata New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2006
    Сообщения:
    41
    Да я знаю!Как то просто бегло получилось и я его проигнорировала.
    А ещё к тому же при переводе с фасма на масм нужно где пологается расставить
    offset-ы и addr
     
  5. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    А еще было бы совсем не плохо пользовать "EHLO" вместо "HELO", т.е. вместо стандартного SMTP использовать ESMTP, который позволит слать аттачи любой длины, но в этом случае придется иметь мыло на этом самом mail.ru, т.к. ESMTP соответственно требует аутентификации. И кстати, на этом форуме уже не один раз выкладывали подобные сорсы (даж когда-то мой был :)).
     
  6. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Nata

    Про офеты я знаю, токо их надо кое-где вставить, а вот как это обьяснить человеку где именно?
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    SiruS
    Ну раз он знает ассемблер, то должен понимать где переменная, так и скажи, перед переменной не заключенной в квадратные скобочки поставб "offset ".
     
  8. wp2

    wp2 New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2006
    Сообщения:
    9
    Можно тупой вопрос про ESMTP?

    Там нужна ауторизация. Надо вводить логин и пароль.
    Что это за логин и пароль?

    Я так понимаю. Если надо отправить почту, например, с Ёпрст@mail.ru на Ёпрст@yandex.ru, то надо ввести пароль для Ёпрст@mail.ru.
    Я правильно понимаю?

    Но тогда в этом случае мне надо коннектиться к smtp.мыло.ру?!

    В SMTP надо было просто коннектиться к smtp.яндекс.ру.
     
  9. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Multimetr

    n0name правильно сказал, коли знаешь сам сделаешь. На всякий случай обьясню что например здесь:
    invoke CreateFile,file_name,...
    надо доставить оффсет вот так:
    invoke CreateFile,offset file_name,...

    Кроме того надо чуть модернизировать read_buf:

    Код (Text):
    1. read_buf:
    2.       invoke recv,sock,offset buf,sizeof buf,esi
    3.       ret
    Дерзай!
     
  10. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    s_helo db "HELO EHLO",0dh,0ah
    szhelo equ $ - offset s_helo
    s_from db "MAIL FROM:<pupsik@mail.ru>",0dh,0ah
    szfrom equ $ - offset s_from
    s_to db "RCPT TO:<pupsik@mail.ru>",0dh,0ah
    szto equ $ - offset s_to
    s_data db "DATA",0dh,0ah
    szdata equ $ - offset s_data
    s_headers db "TO: <pupsik@mail.ru>",0dh,0ah
    db "Subject: I am here!",0dh,0ah
    db "FROM: <pupsik@mail.ru>",0dh,0ah,0dh,0ah

    s_body db "Assembler - Simple & Pure!",0dh,0ah
    db "Thanks to WASM.Ru forum and all COdeRzzz...",0dh,0ah
    db 0dh,0ah,".",0dh,0ah
    szbody equ $ - offset s_body
    szheaders equ $ - offset s_headers
    s_quit db "QUIT",0dh,0ah
    szquit equ $ - s_quit
    okey db "OK",0dh,0ah



    Зачем нужны эти строчки,что они делают? szhelo equ $ - offset s_helo
    szfrom equ $ - offset s_from
    szto equ $ - offset s_to
    szdata equ $ - offset s_data
    szbody equ $ - offset s_body
    szheaders equ $ - offset s_headers
    szquit equ $ - s_quit
     
  11. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Multimetr

    Они указывают длину переменной. Например длина s_quit = 6
     
  12. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Зачем?А что это в конце за 0dh,0ah
     
  13. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Multimetr

    В некоторых случаях очень удобно, чтобы каждый раз не вычислять длину строки, например здесь:
    Код (Text):
    1. read_buf:
    2.       invoke recv,[sock],buf,buf_sz,esi
    3.       ret
    функция recv третим параметром принимает длину buf.
    0dh - это CR
    0ah - это LF
    ^^ Первые два символа - это код символа в таблице ASCII, а третий указывает на то, что код представлен в виде шестнадцатеричного числа, ясно или не совсем?
     
  14. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Это понятно что код символа в таблице ASCII.В десятичном виде это 13 и 10 зачем их ставят в конце строки?
     
  15. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Multimetr

    Это верно и равносильно нажатию кнопки Enter на клаве. Проще говоря это символы перевода на новую строку.
     
  16. Nata

    Nata New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2006
    Сообщения:
    41
    Если так шипко интересно то почитай ка вот это http://vx.netlux.org/tpoc/Articles/smtp1.htm
    и там ещё с продолжением и другие темы и все вопросы отпадут само сабой!
     
  17. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    13 - Возврат каретки
    10 - Перевод строки
    Это 2 управляющих символа ASCII.
    Которые обозначают то что дальнейший текст находится на новой строке.
     
  18. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Это всё я понимаю.У меня вопрос вдругом,как мне exe файл перевести в BASE64 и отослать?
     
  19. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    Смотри 9 и 12 посты этой темы.
     
  20. Multimetr

    Multimetr New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    34
    Как туда exe засунуть.Можно подробно.