PDA

View Full Version : کامپوننت EASendMail SMTP COMPONENT 7.1



h_mohamadi
پنج شنبه 29 خرداد 1393, 11:28 صبح
سلام دوستان
من از کامپوننت EASendMail SMTP COMPONENT 7.1 براي ارسال ايميل مي خواهم استفاده کنم.
مي خواستم از دوستان اگر کسي نسخه کامل را دارد به من اطلاع دهد
آيا اين کامپوننت براي ارسال خوب است يا نه ؟؟
آيا کامپوننت بهتري را دوستان سراغ دارند که با ايميلهاي ياهو و جيميل کار کند؟؟؟

hadisalahi2
یک شنبه 15 تیر 1393, 10:31 صبح
من این کامپوننت رو استفاده میکنم
از همین نسخه معمولیش و خیلی هم راحت برام ایمیل میفرسته
فقط یک یونیت داره که باید به پروژه خودت اضافه کنی

من کامپوننت های زیادی دیدم مثل ICS
ولی این از همه راحت تره
باهاش همه نوع ایمیل ارسال کردم
هم از سرویسهای Yahoo ,Gmail , MSN , Hotmail هم پشتیبانی میکنه

h_mohamadi
چهارشنبه 18 تیر 1393, 15:43 عصر
دوستان چطوري استفاده مي کنيد من الان ديگه بهم پيغام مي دهد که نسخه TRIAL است؟؟

hadisalahi2
چهارشنبه 18 تیر 1393, 17:31 عصر
من دقیقا از سمپل های خودش استفاده کردم
ولی بهم همچین پیغامی نداده
البته ممکنه این پیام چند وقت دیگه برای من هم ظاهر بشه
شما چند روز باهاش کار کردید؟

h_mohamadi
چهارشنبه 18 تیر 1393, 17:47 عصر
من دقیقا از سمپل های خودش استفاده کردم
ولی بهم همچین پیغامی نداده
البته ممکنه این پیام چند وقت دیگه برای من هم ظاهر بشه
شما چند روز باهاش کار کردید؟

120941
من تو يک سايت خودم 2 ماهه است الان امروز 2 ماه شد و اين پيغام را داد
من 2 تا سئوال دارم :
1- شما اين را وقتي بخواهيد برنامه را در يک سيستمي که اين کامپوننت نصب نيست اجرا کنيد فقط EASendMailObj.dll را رجيستر مي کنيد يا راه ديگري؟؟؟؟
2- من از سمپلي که html است مي خواهم استفاده کنم و مشکلم اين است که از يک فرم ديگر اين فرم را اجرا مي کنم و مي خواهم دکمه ارسال را خود دلفي بزند که به من ارور مي دهد؟؟

h_mohamadi
پنج شنبه 19 تیر 1393, 14:02 عصر
دوستاني که اطلاع دارند بيزحمت راهنمايي بفرمائيد

hadisalahi2
پنج شنبه 19 تیر 1393, 17:31 عصر
من تو يک سايت خودم 2 ماهه است الان امروز 2 ماه شد و اين پيغام را داد


اونی که من دارم اصلا پیام نمیده



1- شما اين را وقتي بخواهيد برنامه را در يک سيستمي که اين کامپوننت نصب نيست اجرا کنيد فقط EASendMailObj.dll را رجيستر مي کنيد يا راه ديگري؟؟؟؟
وقتی فایل یونیتش رو استفاده میکنی ، فکر نکنم دیگه احتیاجی به این فایل باشه
یعنی من که این کار رو انجام ندادم.



2- من از سمپلي که html است مي خواهم استفاده کنم و مشکلم اين است که از يک فرم ديگر اين فرم را اجرا مي کنم و مي خواهم دکمه ارسال را خود دلفي بزند که به من ارور مي دهد؟؟
این کامپوننت یک مشکل کوچولو داره
دقیقا همون لحظه ای که میخواد عمل Send انجام بشه ، همه چیز قفل میشه
من از ترد استفاده کردم ، بازم نشد
تایمر هم که جواب نمیداد

یک برنامه کوچیک نوشتم که کارش فقط ارسال ایمیله ، و کنار برنامه اصلی بازش میکنم

در ضمن پیغام خطایی که میده چیه؟

h_mohamadi
یک شنبه 22 تیر 1393, 09:54 صبح
اونی که من دارم اصلا پیام نمیده

این کامپوننت یک مشکل کوچولو داره
دقیقا همون لحظه ای که میخواد عمل Send انجام بشه ، همه چیز قفل میشه
من از ترد استفاده کردم ، بازم نشد
تایمر هم که جواب نمیداد

یک برنامه کوچیک نوشتم که کارش فقط ارسال ایمیله ، و کنار برنامه اصلی بازش میکنم

در ضمن پیغام خطایی که میده چیه؟

فکر کنم چون شما يونيت استفاده کردي ديگر پيغام trial را نمي دهد؟؟
حالا شما کدام يونيت ها را به پروژه ات اضافه گرده ايد؟؟

من در FormCreate فرم ارسال htlm يک تيکه کدژ
htmlEditor.Navigate('about:blank');
htmlDoc := htmlEditor.Document as HTMLDocument;
htmlDoc.designMode := 'on';

را برداشتم و در يک دکمه قرار دادام چون اين فرم من چند بار اجرا مي شود و طبق بررسي من پس از اجراي اين 3 خط کد رويداد tmlEditorNavigateComplete2 اجرا شده و کد html که من نوشتم يک ايميل html با هايپرلينک مي سازد
اما وقتي به صورا خودکار از يک فرم ديگر من دکمه اي که اين 3 تا خط کد درش وجود دارد را مي زنم ايميل html با هايپرلينک مورد نظر من ساخته مي شود
اما وقتي به صورت خودکارمن از يک فرم مي گويم که برو دکمه 3 خط بالا و بعد دکمه ارسال را بزن در روي خط 3 کد زير ارور پيسوت را مي دهد
html := GetCurrentDir();
htmlDoc := htmlEditor.document as HTMLDocument;
body := htmlDoc.body as HTMLHtmlElement;
html := body.innerHTML;

hadisalahi2
یک شنبه 22 تیر 1393, 18:06 عصر
من از این یونیت استفاده میکنم

EASendMailObjLib_TLB

برای ارسال هم از سمپل های خودش استفاده کردم
البته با اندکی تغییر جزئی

h_mohamadi
دوشنبه 23 تیر 1393, 09:46 صبح
من از این یونیت استفاده میکنم
برای ارسال هم از سمپل های خودش استفاده کردم
البته با اندکی تغییر جزئی

من يونيتي که فرموده ايد را اضافه کردم و dll ان را آن ريجستر نمودم ولي بروژه اجرا نمي شود و پيغام زير را مي دهد
121090
شما برايتان امکان دارد يک سمپلي به من بدهيد که ببينم چطوري فقط با اضافه کردن اين يونيتي که فرموده ايد دارد کار مي کند و نياز به رجيستر کردن EASendMailObj.dll نمي باشد
با تشکر فراوان از اين که به من راهنمايي مي فرمائيد.

hadisalahi2
دوشنبه 23 تیر 1393, 10:12 صبح
شاید مشکل از مسخه کامپوننتی هستش که داری
من برا همون نسخه ای که دارم رو آپلود میکنم ، شما دانلود کن
و یک نمونه برنامه هم که خودم نوشتم ، دانلود کن

برنامه یک کم شلوغ پلوغه
اما مطمئنا از کدنویسیش سر در میاری :لبخند:

کامپوننت : http://mihanbit.com/download/53c359d180838/easendmail.rar.html

نمونه برنامه : http://mihanbit.com/download/53c35a4bb8ff7/EmailSender.rar.html

h_mohamadi
دوشنبه 23 تیر 1393, 15:05 عصر
شاید مشکل از مسخه کامپوننتی هستش که داری
من برا همون نسخه ای که دارم رو آپلود میکنم ، شما دانلود کن
و یک نمونه برنامه هم که خودم نوشتم ، دانلود کن

برنامه یک کم شلوغ پلوغه
اما مطمئنا از کدنویسیش سر در میاری :لبخند:

کامپوننت : http://mihanbit.com/download/53c359d180838/easendmail.rar.html

نمونه برنامه : http://mihanbit.com/download/53c35a4bb8ff7/EmailSender.rar.html

خيلي خيلي ممنونم.زحمت کشيديد

h_mohamadi
دوشنبه 23 تیر 1393, 15:11 عصر
از کامپوننت هاي خاصي استفاده شده؟؟

ehstrn2010
سه شنبه 24 تیر 1393, 00:50 صبح
من برای ارسال میل از Indy 10 استفاده می کنم
یه دونه IdSMTP1: TIdSMTP و IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL اضافه کن
خصوصیت Host کامپوننت IdSMTP1 رو برزار smtp.gmail.com
IOhandler:IdSSLIOHandlerSocketOpenSSL1
Port:587
Authtype:satDefault
UseTLS:utUseExplicitTLS
username:SomeThing@gmail.com
Password:YourPassword
کد اجرا و ضمیمه کردن فایل:


procedure TForm3.SendEmail(Sender: TObject);
var
IdMessage:TIdMessage;
IdEmailAddressItem: TIdEmailAddressItem;
begin
IdSMTP1.Connect;
IdMessage := TIdMessage.Create(nil);
try
IdMessage.From.Name := 'esi';
IdMessage.From.Address := 'YourGmailID@gmail.com';
IdMessage.Subject := Edit2.Text;

IdMessage.CharSet:='utf-8';
IdMessage.Body.Add(Memo1.Text );
IdEmailAddressItem := IdMessage.Recipients.Add;

IdEmailAddressItem.Address := Edit1.Text;

if FileExists(EditAttach.Text ) then
TIdAttachmentFile.Create(IdMessage.MessageParts,Ed itAttach.Text )
else
EditAttach.Text:='فایل مورد نظر یافت نشد'+ EditAttach.Text;

IdSMTP1.Send(IdMessage);
finally
IdMessage.Free;
end;
IdSMTP1.Disconnect;

end;

به این روش تست شده البته با ایندی 10

ehstrn2010
سه شنبه 24 تیر 1393, 00:53 صبح
اینم ادامش!

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes
, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdSASL, IdSASLUserPass, IdSASLLogin,
Vcl.StdCtrls, IdBaseComponent,IdComponent, IdTCPConnection, IdTCPClient,
IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP,
IdMessage,IdIOHandler,IdEMailAddress, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL,IdAttachmentFile ;

اینم object های DFM



object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
Destination = 'smtp.gmail.com:587'
Host = 'smtp.gmail.com'
MaxLineAction = maException
Port = 587
DefaultPort = 0
SSLOptions.Mode = sslmUnassigned
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 0
Left = 152
Top = 84
end

object IdSMTP1: TIdSMTP
IOHandler = IdSSLIOHandlerSocketOpenSSL1
Host = 'smtp.gmail.com'
Password = 'MyPassWord'
Port = 587
SASLMechanisms = <>
UseTLS = utUseExplicitTLS
Username = 'YourGmail@gmail.com'
Left = 240
Top = 84
end

به جای IdMessage.Subject := Edit2.Text; یعنی EDIT2.Text بنویس مثلاً Ali@gmail.com

h_mohamadi
سه شنبه 24 تیر 1393, 17:45 عصر
آيا از Indy 9 هم مي شود استفاده کرد؟؟
آيا مي شود يک صفحه html را فرستاد که درون آن يک نوشته هايپرلينک دار است؟؟؟

ehstrn2010
سه شنبه 24 تیر 1393, 19:24 عصر
تو ایندی 9 شدن که میشه اما کد بالا میشه یا نه رو نمی دونم! تست نکردم یه سرچ تو گوگل بزن -یه مطلب تو همین سایتم هست
ارسال ایمیل فارسی ( به صورت HTML ) (http://barnamenevis.org/showthread.php?95075-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%28-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-HTML-%29)http://barnamenevis.org/showthread.php?95075-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%28-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-HTML-%29

hadisalahi2
پنج شنبه 26 تیر 1393, 11:58 صبح
از کامپوننت هاي خاصي استفاده شده؟؟

حقیقتش نمیدونم
فکر کنم alpha و TMS داره چند تا کامپوننت
اما شما فقط کدهاش رو نگاه کنی متوجه نحوه کار میشی

بازم هر جا سوال داشتی من در خدمتت هستم

اگه به نتیجه کامل هم رسیدی یک نمونه برنامه بزار برای همه دوستان تا استفاده کنند

h_mohamadi
یک شنبه 29 تیر 1393, 10:25 صبح
حقیقتش نمیدونم
فکر کنم alpha و TMS داره چند تا کامپوننت
اما شما فقط کدهاش رو نگاه کنی متوجه نحوه کار میشی

بازم هر جا سوال داشتی من در خدمتت هستم

اگه به نتیجه کامل هم رسیدی یک نمونه برنامه بزار برای همه دوستان تا استفاده کنند

ممنونم از زحمات شما اما من جند تا کامپوننت نصب کردم حتي alpha و tms را نصب کردم ولي باز هم ارور مي دهد ديگر نمي دانم از چه کامپوننت هايي استفاده شده اما وقتي هم مي خواهم از کد را ببينم ارور زير را مي دهد

یوسف زالی
یک شنبه 29 تیر 1393, 10:43 صبح
http://stackoverflow.com/questions/19478339/property-explicitleft-does-not-exist

hadisalahi2
دوشنبه 30 تیر 1393, 12:56 عصر
داداش این خطاها مال نسخه کامپوننتیه که نصب کردی نه مال خود کامپوننت
من بهت گفتم عزیزم این نمونه هستش و از کدهاش استفاده کن
نه اینکه خود برنامه رو استفاده کنی

الان دقیقا کدهاش رو پیدا کردی کجاست؟
خیلی ساده و راحته

h_mohamadi
سه شنبه 31 تیر 1393, 12:05 عصر
داداش این خطاها مال نسخه کامپوننتیه که نصب کردی نه مال خود کامپوننت
من بهت گفتم عزیزم این نمونه هستش و از کدهاش استفاده کن
نه اینکه خود برنامه رو استفاده کنی

الان دقیقا کدهاش رو پیدا کردی کجاست؟
خیلی ساده و راحته

کد هاش باز نمي شه و ارور مي دهد

hadisalahi2
سه شنبه 31 تیر 1393, 13:19 عصر
امکان نداره داداش
چون یک فایل یونیت رو شما حتی با نوت پد هم میتونی بازی کنی
چطوریه که خطا میده
ما اینجا راحت باز میکنم