نمایش نتایج 1 تا 2 از 2

نام تاپیک: نداشتن عنوان attachment

  1. #1

    Question نداشتن عنوان attachment

    با سلام
    من در برنامه ارسال ایمیل فایلی رو به صورت اتچ می فرستم و وقتی در اینباکس چکش میکنم نشونش میده اما عنوان و پسوند فایل نداره. یعنی عنوانش تبدیل میشه به Untitled و وقتی که دانلود میکنمش یک فایل بدون پسوند هست که باید با open with باز بشه!
    سرچ کردم بعضیا گفتن مشکل از header ها هست و یا از contentType. نمیدونم همینطوره؟ کسی میتونه کمکی بکنه؟

    var
    html: TStrings;
    htmpart, txtpart: TIdText;
    bmppart: TIdAttachment;
    filename: string;

    begin
    filename := ExtractFilePath(Application.ExeName) + 'test.txt';

    html := TStringList.Create();
    html.Add('<html>');
    html.Add('<head>');
    html.Add('</head>');
    html.Add('<body><h1>Hello</h1>');
    html.Add('This is For Test!</body>');
    html.Add('</html>');

    email.From.Text := edtFrom.text;
    email.Recipients.EMailAddresses := edtTo.text;
    email.Subject := 'Hello';

    htmpart := TIdText.Create(email.MessageParts, html);
    htmpart.Body.Text := html.Text;
    htmpart.ContentType := 'text/html';

    bmppart := TIdAttachmentFile.Create(email.MessageParts, filename);
    bmppart.ContentType := 'image/jpeg';
    // bmppart.ExtraHeaders.Values['content-id'] := 'test.txt';
    bmppart.DisplayName := 'test.txt';
    bmppart.FileName := 'test.txt';
    // bmppart.ContentID := 'test.txt';

    email.ContentType := 'multipart/mixed';

  2. #2

    نقل قول: نداشتن عنوان attachment

    من بعد از مدتها تحقیق و جستجو متوجه شدم که برنامم هیچ مشکلی نداره و بلکه این مشکل به خاطر وجود یک باگ در دلفی 2009 هست!!!
    راه حلش هم خیلی خیلی سادست و باید فایل IdMessageClient.pas را یک تغییرات کوچولو بدیم.
    1- این فایلو از مسیر زیر باز کنید : (قبل از ویرایشش برای احتیاط ازش یک کپی بگیرین)
    C:\Program Files\CodeGear\RAD Studio\6.0\source\Indy\Indy10\Protocols\IdMessageC lient.pas

    2-

    01.procedure TIdMessageClient.SendBody(AMsg: TIdMessage):
    02.begin
    03....
    04.if LFileName <> '' then begin
    05.IOHandler.WriteLn(';'); // بین خط های 1214 و 1215 قرار دهید
    06.IOHandler.Write(' name="' + LFileName + '"'); {do not localize}
    07.end;
    08.IOHandler.WriteLn;
    09.IOHandler.WriteLn('Content-Transfer-Encoding: ' + LAttachment.ContentTransfer); {do not localize}
    10.// دستور writeln را به write تغییر دهید
    11.IOHandler.Write('Content-Disposition: ' + LAttachment.ContentDisposition); {do not localize}
    12.if LFileName <> '' then begin
    13.IOHandler.WriteLn(';'); // بین خط های 1220 و 1221 قرار دهید
    14.IOHandler.Write(' filename="' + LFileName + '"'); {do not localize}
    15.end;
    16....
    17.end;




    3- اونوقت ایندی رو کلا re-build کنید

    4- بعد فایل dcu رو از همون مسیر بالا در مسیرهای زیر هم قرار دهید :
    C:\Program Files\CodeGear\RAD Studio\6.0\lib\Indy10\IdMessageClient.dcu
    C:\Program Files\CodeGear\RAD Studio\6.0\lib\debug\Indy10\IdMessageClient.dcu

    خب حالا برین لذت برنامه ای که نوشتید رو ببرید

تاپیک های مشابه

  1. سوال: ارسال فایل به عنوان attach به ایمیل
    نوشته شده توسط navid3d_69 در بخش PHP
    پاسخ: 10
    آخرین پست: جمعه 29 فروردین 1393, 14:12 عصر
  2. ارسال Report به عنوان Attach در Outlook
    نوشته شده توسط bita_ziba77 در بخش Access
    پاسخ: 3
    آخرین پست: چهارشنبه 14 اسفند 1387, 21:30 عصر
  3. ‌بنده پیشنهاد می دم یک گروه با عنوان Interface بزنیم
    نوشته شده توسط sql_qassem در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 3
    آخرین پست: یک شنبه 21 آبان 1385, 18:00 عصر
  4. آیا امکان Attachment به اندازه کافی لازم و مفید است؟
    نوشته شده توسط مهدی کرامتی در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 6
    آخرین پست: جمعه 28 شهریور 1382, 18:10 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •