PDA

View Full Version : مشکل ارسال ایمیل با SMTP



solook
دوشنبه 21 مرداد 1387, 09:40 صبح
با سلام
من قبلا توسط smtp براحتی ایمیل ها رو ارسال میکردم
اما الان هرکاری میکنم ارسال نمیشه

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

چیکار باید کرد؟

amin_alexi
دوشنبه 21 مرداد 1387, 10:54 صبح
سلام
از چه ورژنی از دلفی استفاده می کنی !
از Indy استفاده می کنی ؟
اگه از Delphi 7 و Indy استاده می کنی ... و با Gmail باید از SSL استفاده کنی ..
این 2 تا Dll رو دانلود کن ... (libeay32.dll ; ssleay32.dll)
یک خط دستور رو اضافه کن به شرطی که Server از SSL استفاده می کنه ...


If SSL Then
idSMTP.IOHandler :=TIdSSLIOHandlerSocket.Create(Self);


برای SSL از Port شماره 465 استفاده کن ....
و یه تست کن شاید آنتی ویروس Port رو بسته باشه ...

vcldeveloper
دوشنبه 21 مرداد 1387, 12:35 عصر
این تاپیک را تا صفحه آخر بخوانید:
http://www.barnamenevis.org/forum/showthread.php?t=114287

pm.hamze
دوشنبه 21 مرداد 1387, 16:21 عصر
جناب solook لطفا میشه یه سورسی که واقعا تونسته باشید باهاش به یاهو ایمیل بفرستید به من معرفی کنید.

solook
دوشنبه 21 مرداد 1387, 16:21 عصر
اون تاپیک رو خوندم
ظاهرا باید از Dll های مربوطه استفاده کنم

اما حقیقتش راهی نیست که نیازی به اون dll ها نباشه؟

solook
دوشنبه 21 مرداد 1387, 16:34 عصر
جناب solook لطفا میشه یه سورسی که واقعا تونسته باشید باهاش به یاهو ایمیل بفرستید به من معرفی کنید.


من قبلا با این کار میکردم جواب میداد

pm.hamze
دوشنبه 21 مرداد 1387, 18:37 عصر
دوست عزیز Smtp Server های یاهو بسته شده است باید چکار کرد.

aserfg
دوشنبه 21 مرداد 1387, 19:48 عصر
برادر گرامي اگه شما مي خواين به ياهو ميل بزنين چكار به smtp serverياهو دارين . شما مي تونين براي تست برنامتون يه اكانت runboxايجاد كرده البته به صورت يه ماهه رايگانه .بعد به هر جايي خواستين ميل بزنين.

pm.hamze
دوشنبه 21 مرداد 1387, 22:10 عصر
با سلام دوست عزیز
اكانت runboxايجاد كرده یعنی چی و چطوری باید ایجاد بشه.

amin_alexi
سه شنبه 22 مرداد 1387, 07:39 صبح
اون تاپیک رو خوندم
ظاهرا باید از Dll های مربوطه استفاده کنم

اما حقیقتش راهی نیست که نیازی به اون dll ها نباشه؟

منم قبلا دنبال یه راه بودم .... گشتم و گشتم و دیدم همینه !!!
شاید بشه با Component دیگه ای نوشت ... ولی به درده سرش نمی ارزه ....
ولی وقتی به این خوبی در اون تاپیک توصیح داده شده ... !!!

vcldeveloper
سه شنبه 22 مرداد 1387, 15:33 عصر
اما حقیقتش راهی نیست که نیازی به اون dll ها نباشه؟
اون DLLها پیاده سازی OpenSSL هستند، بهشون نیاز دارید، چون بالاخره وقتی از SSL استفاده می کنید، باید یک پیاده سازی از آن موجود باشه. چون OpenSSL آزاد بود، Indy برای ارتباط مبتی بر SSL ازش استفاده کرد. سورس کدی هم که ازش موجود هست، برپایه C هست.

solook
پنج شنبه 24 مرداد 1387, 17:07 عصر
خب من اون dll ها رو در پوشه برنامه گذاشتم
و TIdSSLIOHandlerSocket هم با تنظیمات مربوطه روی فرم گذاشتم
خصوصیت IOHandler کامپوننت SMTP را روی TIdSSLIOHandlerSocketقرار دادم

حالا این پیامو میده :
ERROR: Error connecting with SSL.


چیکارش کنم

solook
شنبه 26 مرداد 1387, 06:35 صبح
خب دیگه کارم راه افتاد
سورسش هم اگه کسی می خواد همینجا الحاقش کردم

یا علی

persianspam
دوشنبه 21 دی 1388, 16:47 عصر
دوست عزیز Smtp Server های یاهو بسته شده است باید چکار کرد.


اگه از Yahoo Ca استفاده کنی هنوز فعاله . mail.yahoo.ca
smtp.mail.yahoo.ca
pop.mail.yahoo.ca

وقتی ساختی باید بری تو میل آپشن و Pop3 رو فعال کنی.

saeed7007
چهارشنبه 03 فروردین 1390, 06:46 صبح
به پیر به پیغمبر هیچ کدوم جواب نمیده

یکی به داد ما برسه...

mtfa65
شنبه 21 دی 1392, 23:25 عصر
طبق این لینکک زیر
http://barnamenevis.org/showthread.php?117473-ظ…ط´ع©ظ„-ط§ط±ط³ط§ظ„-ط§غŒظ…غŒظ„-ط¨ط§-SMTP
همین پیغام رو می ده چیکار کنم
خب من اون dll ها رو در پوشه برنامه گذاشتم
و TIdSSLIOHandlerSocket هم با تنظیمات مربوطه روی فرم گذاشتم
خصوصیت IOHandler کامپوننت SMTP را روی TIdSSLIOHandlerSocketقرار دادم

حالا این پیامو میده :
ERROR: Error connecting with SSL.


چیکارش کنم

Mask
یک شنبه 22 دی 1392, 14:51 عصر
مرده از زیر خاک بیرون نکش داداش.
علم غیب نداریم که. کدهاتو بزار ببینیم چی نوشتی.

mtfa65
یک شنبه 22 دی 1392, 17:24 عصر
سلام
البته از دو libeay32.dll ; ssleay32.dll طبق گفته بالا دانلود کردم و استفاده کردم که پیغام ERROR: Error connecting with SSL. رو می ده. و از حساب جی میل استفاده می کنم.
host: smtp.gmail.com و پورت :465 وارد میکنم.
اگر امکان داشته باشه می خوام از dll ها استفاده نکنم و فقط در داخل خود برنامه دستورات باشه نمی خوام dll باز خوانی بشه. بسیار ممنون.

procedure TForm1.bbtnOkClick(Sender: TObject);
begin
IdMsgSend.Body.Assign(Memo1.Lines);
IdMsgSend.Recipients.EMailAddresses := edtTo.Text; { To: header }
IdMsgSend.Subject := edtSubject.Text; { Subject: header }
IdMsgSend.CCList.EMailAddresses := edtCC.Text; {CC}
IdMsgSend.BccList.EMailAddresses := edtBCC.Text; {BBC}

SMTP.Username := edtAccount.Text;
SMTP.Password := edtPassword.Text;
{General setup}
SMTP.Host := SMTPServer.Text;
SMTP.Port := StrToint(SMTPPort.Text);
{now we send the message}
SMTP.Connect;
try
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
end;

Mask
یک شنبه 22 دی 1392, 22:23 عصر
مشکل شما در تنظیم IdSSLIOHandlerSocketOpenSSL و مرتبط کردنتون به smtp هست.
برای روشن شدن موضوع کلیه ارتباطات رو به صورت کد نویسی انجام بدید ، نه حالت دیزاین . تا بشه هم راحتتر مدیریت کرد و هم اینکه اینجا قرار بدی تا بشه عیب اصلی رو تشخیص داد.

اگر امکان داشته باشه می خوام از dll ها استفاده نکنم و فقط در داخل خود برنامه دستورات باشه نمی خوام dll باز خوانی بشه
نه خیر نمیشه. این dll ها برای ارتباط ssl به میل سرور جیمیل هست.
اگه براتون سخته استفاده از این dll ها ، میتونید از میل سرور یاهو استفاده کنید یا خودتون میل سرور راه بندازید.

mtfa65
یک شنبه 22 دی 1392, 23:09 عصر
مشکل شما در تنظیم IdSSLIOHandlerSocketOpenSSL و مرتبط کردنتون به smtp هست.
برای روشن شدن موضوع کلیه ارتباطات رو به صورت کد نویسی انجام بدید ، نه حالت دیزاین . تا بشه هم راحتتر مدیریت کرد و هم اینکه اینجا قرار بدی تا بشه عیب اصلی رو تشخیص داد.

نه خیر نمیشه. این dll ها برای ارتباط ssl به میل سرور جیمیل هست.
اگه براتون سخته استفاده از این dll ها ، میتونید از میل سرور یاهو استفاده کنید یا خودتون میل سرور راه بندازید.

خب نمیشه دستورات dll رو در خود برنامه نوشت؟
من نمیدونم محتوای dll چی هست اگر امکان داشته باشه محتوای این dll ها یا چیزی شبیه به اون رو برام بذارید ممنون می شم.

Mask
دوشنبه 23 دی 1392, 11:22 صبح
خب نمیشه دستورات dll رو در خود برنامه نوشت؟
من نمیدونم محتوای dll چی هست اگر امکان داشته باشه محتوای این dll ها یا چیزی شبیه به اون رو برام بذارید ممنون می شم.
اگه خیلی براتون مهمه، با شرکت تولید کننده تماس بگیرید و پس از پرداخت هزینه هایی که دارند، سورس رو خریداری کنید.
بعدشم، اگه قرار بود مستندات ssl در اختیار عموم باشه، پس امنیت کجا میره.

mtfa65
دوشنبه 23 دی 1392, 11:27 صبح
سلام دوست عزیز
مثل اینکه چاره دیگه ای نیست.
خب وقتی از dll ها هم استفاده می کنیم چرا پیغام ERROR: Error connecting with SSL رو می ده؟؟
چیکار باید بکنیم که سورس ما dll ها رو بخونه؟ وبتونه با sll وصل بشه؟
با تشکر

Mask
دوشنبه 23 دی 1392, 11:53 صبح
شما انگار اصلا پستهای من رو نمیخونید .
دو راه خدمتت گفتم :
وضعیت ارتباط IdSSLIOHandlerSocketOpenSSL و smtp رو به صورت کد نویسی انجام دهید و اینجا قرار بدید تا بررسی بشه.
از میل سرور یاهو استفاده کنید یا خودتون راه اندازی کنید،تا نیاز به dll ها نباشه.

mtfa65
دوشنبه 23 دی 1392, 13:39 عصر
سلام دوست عزیز
من از فایل آموزشی که پیوست کردم استفاده می کنم. ولی ایمیل ارسال نمیشه. حالا هر مشکلی داره رو شما بفرمایید. فقط هر کاری که نیاز باشه انجام می دم ولی تورو خدا از فایل dll استفاده نکنم.
مرسی
115312

و اینکه آیا با aol می شه بدون استفاده از dll ها ایمیل رو فرستاد؟ اگر می شه آدر هاست aol چی هست؟ اگر می دونید لطفا بفرمایید.
با تشکر

Mask
سه شنبه 24 دی 1392, 11:28 صبح
در این پست نمونه کد و توضیحات لازم داده شده، میتونید استفاده کنید. (http://barnamenevis.org/showthread.php?436367-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%DB%8C%DA%A9-%DA%A9%D8%AF-indy9-%D8%A8%D8%A7-%D8%AF%D9%84%D9%81%DB%8C-7-%D8%A8%D9%87-indy10-%D8%A8%D8%A7-%D8%AF%D9%84%D9%81%DB%8C-2010&p=1953367&viewfull=1#post1953367)

mtfa65
سه شنبه 24 دی 1392, 14:47 عصر
سلام دوست عزیز
بالاخره تونستم ایمیل رو ارسال کنم
بهتره مشکل رو بگم تا اگر کسی من من این مشکل رو داشت بتونه حل کنه.
بعد از کپی dll ها در مسیر پروژه و قرار دادن کامپوننت IdSSLIOHandlerSocket1 در قسمت ssloptions خاصیت method را sslvSSLv2 می کنیم در این صورت پیغام ERROR: Error connecting with SSl را نخواهد داد
با تشکر

mtfa65
سه شنبه 24 دی 1392, 14:50 عصر
با سلام
حالا می خوام ایمیل گروهی ارسال کنم به چه صورت باید عمل کنم.
مثلا برای تبلیغات برای هر شرکتی که خواستم به تمامی کاربران ایمیل تبلیغاتی ارسال کنم باید به چه صورت عمل کنم؟
فرضا برای تمامی کاربران msn و yahoo و google و یا هر شرکتی که بخواهیم به تمامی کاربران ایمیل ارسال کنیم.
و سوال دوم اینکه با دلفی چطور می تونم ایمیلهایی که برای من ارسال شده رو ببینم؟
با تشکر.

h_mohamadi
شنبه 26 مهر 1393, 15:14 عصر
سلام دوست عزیز
بالاخره تونستم ایمیل رو ارسال کنم
بهتره مشکل رو بگم تا اگر کسی من من این مشکل رو داشت بتونه حل کنه.
بعد از کپی dll ها در مسیر پروژه و قرار دادن کامپوننت IdSSLIOHandlerSocket1 در قسمت ssloptions خاصیت method را sslvSSLv2 می کنیم در این صورت پیغام ERROR: Error connecting with SSl را نخواهد داد
با تشکر

سلام
من سمپل ارسال ایمیل با SMTP را گرفتم اما بعد از وارد کردن تظیمات ارور زیر را می دهد
می شود راهنمایی بفرمائید