امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
خواهش دارم
نویسنده پیام
shahab_love_62 آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 5
تاریخ عضویت: خرداد ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
خواهش دارم
سلام
خسته نباشيد
لطفا برنامه فرستادن ميل وگرفتن ميل را براي من بفرستيد خواهش دارم
كمكم كنيد
۱۸-خرداد-۱۳۸۵, ۰۵:۰۱:۳۴
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: خواهش دارم
برای فرستادن mail باید از idsmtp از کامپوننتهای indyclientاستفاده کنی وبرای متن mailاز idmessageواگه با فایل خواستی بفرستی idattechment
برای چک کردن mailهم باید از pop3 استفاده کنی
این برای ارسال mail هستش خیلی وقت پیش نوشتم ببین به دردت میخوره به یه کمی تغییر احتیاج داره فکر کنم
unit Unit4;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, ToolWin, ComCtrls;

type
TForm1 = class(TForm)
ToolBar1: TToolBar;
Button1: TButton;
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
Memo1: TMemo;
Label1: TLabel;
Edit1: TEdit;
Button2: TButton;
Label2: TLabel;
Edit2: TEdit;
OpenDialog1: TOpenDialog;
Label3: TLabel;
Edit3: TEdit;
StatusBar1: TStatusBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
idmessage1.Body.Add(memo1.Text);
idmessage1.From.Text:='ghoroobe_delangiz2002@yahoo.com.com';
idmessage1.Recipients.EMailAddresses:=edit1.Text;
idmessage1.Subject:='salam';
if edit2.Text>''then
begin
tidattachment.Create(idmessage1.MessageParts,edit1.Text);
end;
idsmtp1.Host:= edit3.Text;
idsmtp1.Connect();
statusbar1.SimpleText:='connect to server';
try
idsmtp1.Send(idmessage1);
statusbar1.SimpleText:='sending mail...';
finally
idsmtp1.Disconnect;
statusbar1.SimpleText:='done!';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
edit2.Text:=opendialog1.FileName;
end;
//for yahoo hostname==mx1.mail.yahoo.com//
end.
۲۰-خرداد-۱۳۸۵, ۰۸:۲۳:۵۲
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #3
RE: خواهش دارم
برای دریافت mailاز یک سرور باید ازidpop3استفاده کنی
procedure TForm1.Button1Click(Sender: TObject);
var FMsgCount: integer;
var intIndex: integer;
var i: integer;
begin
memo1.Clear;
idPOP31.Host := 'pop.mail.de';
//idPOP.Port := Pop3ServerPort;
idPOP31.Username := 'mustermann@provider.de';
idPOP31.Password := 'xyzpasswort';
idPOP31.Connect;
FMsgCount := idPOP31.CheckMessages;
label2.Caption:=inttostr(FMsgCount);
//for i:=1 to FMsgCount do
//begin
//POP.Retrieve(i, IdMessage1);
idPOP31.Retrieve(strtoint(edit1.text), IdMessage1);
for intIndex := 0 to Pred(IdMessage1.MessageParts.Count) do begin
if (IdMessage1.MessageParts.Items[intIndex] is TIdAttachment) then
begin
memo1.lines.add(TIdAttachment(IdMessage1.MessageParts.Items[intIndex]).Filename);
end;
end;
//end;
idpop31.disconnect;
end;


end.
۲۶-خرداد-۱۳۸۵, ۰۱:۰۱:۱۱
وب سایت ارسال‌ها
پاسخ
Jman آفلاین
كاربر تک ستاره
*

ارسال‌ها: 56
موضوع‌ها: 12
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #4
RE: خواهش دارم
جدیدا انگار پورت 25 را بستن
من هرچی میل تو اصفهان و قم با پورت 25 فرستادم خطای 110053 می ده

باز آی و دل تنگ مرا مونس جان باش
وین سوخته را محرم اسرار نهان باش
۲۴-تير-۱۳۸۵, ۰۷:۵۵:۱۲
وب سایت ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #5
RE: خواهش دارم
اقا من با این idsmtp هرچی که سابجکتش فارسی باشه میفرسته خودش تبدیل میکنه به استاندارد ISO-xyz (عددش را یادم نیست ) هرچی به زبون خوش میگم بابا استاندارد سابجکتت utf-8 باید باشه ، دیوانه خودش ورمیداره تبدیل میکنه میفرسته اونطرف هم دیگه تکلیف کاراکترهای عجیب غریبش مشخصه

چه کنم ؟
کد:
msg:=TIdMessage.Create(nil);
msg.CharSet:='utf-8';
msg.ContentType:='text/html';
Msg.ContentTransferEncoding := 'base64';
msg.Encoding:=meMIME;
Subj:=UTF8Encode ('سابجکت');
msg.Subject:= subj;
Msg.ContentTransferEncoding := '7bit'; // <- RAW

هدری که بهم میده اینطوریه :
کد:
Return-path: <admin@alaaaat.ir>
Envelope-to: admin@alvvvvvt.ir
Delivery-date: Wed, 12 Jan 2011 07:31:41 +0100
Received: from [204.145.90.125] (helo=comp)
    by server8g.axspace.com with esmtpa (Exim 4.69)
    (envelope-from <admin@aaaaalt.ir>)
    id 1PcuFA-0003Yv-TI
    for admin@alaaaaaat.ir; Wed, 12 Jan 2011 07:31:41 +0100
From: admin@alddddt.ir
Subject: =?ISO-8859-1?Q?=D3=C7=C8=CC=98=CA?=
To: admin@alaaaaaaat.ir
Content-Type: text/html;
    charset="utf-8"
Date: Wed, 12 Jan 2011 09:58:09 +0330
X-Priority: 1
X-Library: Indy 9.00.10

Memo1
تست متن
آدرسهای ایمیل تغییر داده شدن که این رباتها بیچارم نکنن
(آخرین ویرایش در این ارسال: ۲۲-دى-۱۳۸۹, ۱۱:۰۱:۱۵، توسط joker.)
۲۲-دى-۱۳۸۹, ۱۰:۴۵:۰۱
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: خواهش دارم
مشکل از از کامپوننت نیست ؛
اگه سابجکت فارسی باسه به صورت کد شده میاد واست (اونی که میزنی utf8 ؛ واسه اینه که سرور بفهمه )
در هر حال باید بعد از دریافت هدر سند شده از سرور ؛ خودت تو سمت کلاینت تبدیلش کنی (دیکدش کنی) به متن مورد نظر !!
(آخرین ویرایش در این ارسال: ۲۲-دى-۱۳۸۹, ۱۳:۲۲:۵۵، توسط babyy.)
۲۲-دى-۱۳۸۹, ۱۳:۲۰:۵۹
وب سایت ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #7
RE: خواهش دارم
(۲۲-دى-۱۳۸۹, ۱۳:۲۰:۵۹)babyy نوشته است: مشکل از از کامپوننت نیست ؛
اگه سابجکت فارسی باسه به صورت کد شده میاد واست (اونی که میزنی utf8 ؛ واسه اینه که سرور بفهمه )
در هر حال باید بعد از دریافت هدر سند شده از سرور ؛ خودت تو سمت کلاینت تبدیلش کنی (دیکدش کنی) به متن مورد نظر !!

کلاینت فقط میفرسته ، جائی که بشه درستش کرد که توی این کامپوننت های indy ندیدم
تنها راه موجود که فعلا ظاهرا جوابگو هست ( ولی آب انار لازم داره تا بنویسم ) اینه که بیام کدهای معادل را پیدا کنم
مثلا
کد:
=D8=A7=20 ا
=D8=A8=20 ب
=D8=A9=20 ة
=D9=BE=20 پ
=D8=AA=20 ت
=D8=AB=20 ث
=D8=AC=20 ج
و سابجکت را اینطوری بنویسم ( مثلا برای لغت "تست" ) سابجکت برای اینکه در همه جا فارسی صحیح نشون داده بشه
کد:
Subj:='=?UTF-8?Q?=D8=AA=D8=B3=D8=AA?=';
اما اعصاب میبره و فکر کنم اگه بعد که تابع تبدیل را نوشتم یکی بیاد بگه این تابع آماده قبلا بوده ، اونوقت خودکشی کنم :)
پس یه راه حل سریع بهم بگین :((


پیوست : =20 ها را از اخر باید حذف کنیم ، ( کاراکتر فاصله هست ، که من برای تست کارهام گذاشتم)

[تصویر:  sajdelogo.gif]
(آخرین ویرایش در این ارسال: ۲۲-دى-۱۳۸۹, ۱۳:۴۶:۲۴، توسط joker.)
۲۲-دى-۱۳۸۹, ۱۳:۳۷:۲۷
ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #8
RE: خواهش دارم
خب مجبور شدم بنویسم :)
مردشون این باگ indy smtp را ببرن
کد:
function ReplaceStringtoUTF8( str:string):string;
var
i,j:integer;
tempstr:string;
  begin
  Tempstr:='=?UTF-8?Q?';

  j:=length(Str);
    for i:=0  to j  do
             begin
اینها حروف الفبای فارسی به ترتیب هستند که چون کپی پیست کردم توی این ادیتور سایت بهم ریختن ، حسش نیست درستشون کنم ، کارتون گیر بود به این سورس خودتون به ترتیب فقط حروف الفبای فارسی را جایگزین کنید.

if Str[i]=  'Ç'   then   TempStr:=TempStr+'=D8=A7';
if Str[i]=  'È'   then   TempStr:=TempStr+'=D8=A8';
if Str[i]=  ''   then   TempStr:=TempStr+'=D9=BE';
if Str[i]=  'Ê'   then   TempStr:=TempStr+'=D8=AA';
if Str[i]=  'Ë'   then   TempStr:=TempStr+'=D8=AB';
if Str[i]=  'Ì'   then   TempStr:=TempStr+'=D8=AC';
if Str[i]=  ''   then   TempStr:=TempStr+'=DA=86';
if Str[i]=  'Í'   then   TempStr:=TempStr+'=D8=AD';
if Str[i]=  'Î'   then   TempStr:=TempStr+'=D8=AE';
if Str[i]=  'Ï'   then   TempStr:=TempStr+'=D8=AF';
if Str[i]=  'Ð'   then   TempStr:=TempStr+'=D8=B0';
if Str[i]=  'Ñ'   then   TempStr:=TempStr+'=D8=B1';
if Str[i]=  'Ò'   then   TempStr:=TempStr+'=D8=B2';
if Str[i]=  'Ž'   then   TempStr:=TempStr+'=DA=98';
if Str[i]=  'Ó'   then   TempStr:=TempStr+'=D8=B3';
if Str[i]=  'Ô'   then   TempStr:=TempStr+'=D8=B4';
if Str[i]=  'Õ'   then   TempStr:=TempStr+'=D8=B5';
if Str[i]=  'Ö'   then   TempStr:=TempStr+'=D8=B6';
if Str[i]=  'Ø'   then   TempStr:=TempStr+'=D8=B7';
if Str[i]=  'Ù'   then   TempStr:=TempStr+'=D8=B8';
if Str[i]=  'Ú'   then   TempStr:=TempStr+'=D8=B9';
if Str[i]=  'Û'   then   TempStr:=TempStr+'=D8=BA';
if Str[i]=  'Ý'   then   TempStr:=TempStr+'=D9=81';
if Str[i]=  'Þ'   then   TempStr:=TempStr+'=D9=82';
if Str[i]=  '˜'   then   TempStr:=TempStr+'=DA=A9';
if Str[i]=  ''   then   TempStr:=TempStr+'=DA=AF';
if Str[i]=  'á'   then   TempStr:=TempStr+'=D9=84';
if Str[i]=  'ã'   then   TempStr:=TempStr+'=D9=85';
if Str[i]=  'ä'   then   TempStr:=TempStr+'=D9=86';
if Str[i]=  'æ'   then   TempStr:=TempStr+'=D9=88';
if Str[i]=  'å'   then   TempStr:=TempStr+'=D9=87';
if Str[i]=  'í'   then   TempStr:=TempStr+'=DB=8C';
IF str[i]=  'í'   THEN   TempStr:=TempStr+'=D9=8A';

if Str[i]=  ' '   then   TempStr:=TempStr+'=20';

if Str[i]=  '0'   then   TempStr:=TempStr+'=30';
if Str[i]=  '1'   then   TempStr:=TempStr+'=31';
if Str[i]=  '2'   then   TempStr:=TempStr+'=32';
if Str[i]=  '3'   then   TempStr:=TempStr+'=33';
if Str[i]=  '4'   then   TempStr:=TempStr+'=34';
if Str[i]=  '5'   then   TempStr:=TempStr+'=35';
if Str[i]=  '6'   then   TempStr:=TempStr+'=36';
if Str[i]=  '7'   then   TempStr:=TempStr+'=37';
if Str[i]=  '8'   then   TempStr:=TempStr+'=38';
if Str[i]=  '9'   then   TempStr:=TempStr+'=39';


if LowerCase(Str[i])=  'a'   then   TempStr:=TempStr+'a';
if LowerCase(Str[i])=  'b'   then   TempStr:=TempStr+'b';
if LowerCase(Str[i])=  'c'   then   TempStr:=TempStr+'c';
if LowerCase(Str[i])=  'd'   then   TempStr:=TempStr+'d';
if LowerCase(Str[i])=  'e'   then   TempStr:=TempStr+'e';
if LowerCase(Str[i])=  'f'   then   TempStr:=TempStr+'f';
if LowerCase(Str[i])=  'g'   then   TempStr:=TempStr+'g';
if LowerCase(Str[i])=  'h'   then   TempStr:=TempStr+'h';
if LowerCase(Str[i])=  'i'   then   TempStr:=TempStr+'i';
if LowerCase(Str[i])=  'j'   then   TempStr:=TempStr+'j';
if LowerCase(Str[i])=  'k'   then   TempStr:=TempStr+'k';
if LowerCase(Str[i])=  'l'   then   TempStr:=TempStr+'l';
if LowerCase(Str[i])=  'm'   then   TempStr:=TempStr+'m';
if LowerCase(Str[i])=  'n'   then   TempStr:=TempStr+'n';
if LowerCase(Str[i])=  'o'   then   TempStr:=TempStr+'o';
if LowerCase(Str[i])=  'p'   then   TempStr:=TempStr+'p';
if LowerCase(Str[i])=  'q'   then   TempStr:=TempStr+'q';
if LowerCase(Str[i])=  'r'   then   TempStr:=TempStr+'r';
if LowerCase(Str[i])=  's'   then   TempStr:=TempStr+'s';
if LowerCase(Str[i])=  't'   then   TempStr:=TempStr+'t';
if LowerCase(Str[i])=  'u'   then   TempStr:=TempStr+'u';
if LowerCase(Str[i])=  'v'   then   TempStr:=TempStr+'v';
if LowerCase(Str[i])=  'w'   then   TempStr:=TempStr+'w';
if LowerCase(Str[i])=  'x'   then   TempStr:=TempStr+'x';
if LowerCase(Str[i])=  'y'   then   TempStr:=TempStr+'y';
if LowerCase(Str[i])=  'z'   then   TempStr:=TempStr+'z';

if LowerCase(Str[i])=  '"'   then   TempStr:=TempStr+'"';
if LowerCase(Str[i])=  '='   then   TempStr:=TempStr+'=';
if LowerCase(Str[i])=  '+'   then   TempStr:=TempStr+'+';
if LowerCase(Str[i])=  '!'   then   TempStr:=TempStr+'!';
if LowerCase(Str[i])=  '@'   then   TempStr:=TempStr+'@';
if LowerCase(Str[i])=  '#'   then   TempStr:=TempStr+'#';
if LowerCase(Str[i])=  '$'   then   TempStr:=TempStr+'$';
if LowerCase(Str[i])=  '%'   then   TempStr:=TempStr+'%';
if LowerCase(Str[i])=  '&'   then   TempStr:=TempStr+'&';
if LowerCase(Str[i])=  '*'   then   TempStr:=TempStr+'*';
if LowerCase(Str[i])=  '('   then   TempStr:=TempStr+'(';
if LowerCase(Str[i])=  ')'   then   TempStr:=TempStr+')';

            end;


tempStr := tempStr +'?=';
Result := tempstr;

  end;

[تصویر:  sajdelogo.gif]
۲۲-دى-۱۳۸۹, ۱۶:۲۶:۱۰
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #9
RE: خواهش دارم
اين باگ نيست کدينگ UTF-8 هست که بايد به Ascii ديکد بشه
توابع آماده هم فکر کنم فراوون باشه, يا شايد تو دلفی امکان اين باشه تا کاراکتر انکدينگ رو (تو يونيت يا فورم) رو روی utf-8 گذاشت
۲۳-دى-۱۳۸۹, ۰۰:۳۷:۳۹
ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #10
RE: خواهش دارم
(۲۳-دى-۱۳۸۹, ۰۰:۳۷:۳۹)CRazYFULL نوشته است: اين باگ نيست کدينگ UTF-8 هست که بايد به Ascii ديکد بشه
توابع آماده هم فکر کنم فراوون باشه, يا شايد تو دلفی امکان اين باشه تا کاراکتر انکدينگ رو (تو يونيت يا فورم) رو روی utf-8 گذاشت

باگ یا شاید کمبود امکانات indy هست
دلفی تابع UTF8Encode و UTF8decode را داره ، ولی در مورد سابجکت فارسی کارنکرد ( روی body کار میکنه )


[تصویر:  sajdelogo.gif]
۲۳-دى-۱۳۸۹, ۱۵:۴۳:۴۰
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #11
RE: خواهش دارم
شما از دلفی چند استفاده میکنین؟
از دلفی 2009 به بعد پشتیبانی کامل از unicode شده و این مشکلات وجود نداره

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۵-دى-۱۳۸۹, ۱۱:۳۴:۳۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : رسول


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  در خواست کامپوننت sub idx و کلیه زیرنویس ها دارم pop_0098 0 2,121 ۲۹-مهر-۱۳۸۹, ۰۲:۴۵:۴۷
آخرین ارسال: pop_0098
  کمک فوری خواهش می کنم The.Ghost 6 4,955 ۲۱-شهریور-۱۳۸۹, ۱۸:۲۳:۲۴
آخرین ارسال: aydin_key
Question خواهش می کنم کمک کنید The.Ghost 2 2,910 ۲۱-شهریور-۱۳۸۹, ۱۸:۱۶:۳۲
آخرین ارسال: aydin_key
  در گزارشگيري با ابزار rave سوال دارم.. fariba4 1 2,365 ۰۵-خرداد-۱۳۸۶, ۱۷:۲۵:۲۵
آخرین ارسال: areza

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS