[align=center][size=large]فایل بروز رسانی شد.....[/size][/align]
سلام دوست عزیز!
یک کتابخونه پیدا کردم که میتونی ازش استفاده کنی! برای این کار این فایل رو دانلود کن:
http://www.chilkatsoft.com/download/EmailActiveX.msi
بعد از دانلود، در آدرس مشخصی نصب کن.
بعد از نصب، به محیط VBA برو و از منوی Tools گزینه Reference ها رو انتخاب کن.
Reference در پنجره Reference گزینه Browse را بزن.
به آدرسی که کتابخونه ها رو نصب کردی برو و فایل ChilkatMail_v8.dll رو Add کن.
پس از Add کردن کتابخونه مطمئن شو که در لیست available refernces اضافه شده است. آن را پیدا کن و تیک کنار آن را بزن! البته ممکن هست وقتی Add میشه خودش تیک را زده باشد.
کتابخانه برای شما آماده است.

یک نمونه کد برای نحوه استفاده از این کتابخانه برات میزارم! باز اگر سوالی داشتی بگو تا جواب بدم! شما باید برای استفاده از هر سرور ایمیلی تنضیمات مخصوص برای اون سرور و انجام بدهی. در این مثال که برای سرور Gmail با پورت 587 هست من تنظیمات رو انجام دادم:
Private Sub SendMail_Click()
------ ابتدا یک شی میسازی بر وصل شدن به اکانت و سرور
Dim mailman As New ChilkatMailMan2
------کد زیر برای باز کردن قفل کتابخانه است
success = mailman.UnlockComponent("UnlockCode")
------کد زیر موفقیت آمیز بودن باز شدن قفل را چک می کند.
If success <> 1 Then
MsgBox ("auth failed")
End If
--------کد های زیر تنظیمات اتصال به سرور می باشد.
mailman.SmtpHost = "smtp.gmail.com"
mailman.SmtpUsername = "YourUserName" ---- دقت فرمایید برای Username گذاشتن @gmail.com لازم نمی باشد.
mailman.SmtpPassword = "YourPassword"
mailman.SmtpSsl = 1
mailman.SmtpPort = 587
mailman.StartTLS = 1
------ ساختن شی ایمیل
Dim email As New ChilkatEmail2
----- عنوان، فرستنده، اضافه کردن گیرنده و متن ایمیل
email.Subject = "test"
email.From = "Morteza Davari <m.d6712@gmail.com>"
email.Body = "this is a test" & vbCrLf & "line 2" & vbCrLf & "-Bill"
email.AddTo "Hello", "m_d6712@yahoo.com"
------ ارسال ایمیل
success = mailman.SendEmail(email)
------ بررسی ارسال صحیح و کامل (صفر به معنی Error هست)
If (success = 0) Then
MsgBox mailman.LastErrorText
End If
End Sub
کل کد:
[align=left]
کد:
Private Sub SendMail_Click()
Dim mailman As New ChilkatMailMan2
success = mailman.UnlockComponent("UnlockCode")
If success <> 1 Then
MsgBox ("auth failed")
End If
mailman.SmtpHost = "smtp.gmail.com"
mailman.SmtpUsername = "xxxxxxxxxxxxxx"
mailman.SmtpPassword = "xxxxxxxxxxxxxx"
mailman.SmtpSsl = 1
mailman.SmtpPort = 587
mailman.StartTLS = 1
Dim email As New ChilkatEmail2
email.Subject = "test"
email.From = "Morteza Davari <m.d6712@gmail.com>"
email.Body = "this is a test" & vbCrLf & "line 2" & vbCrLf & "-Bill"
email.AddTo "Hello", "m_d6712@yahoo.com"
success = mailman.SendEmail(email)
If (success = 0) Then
MsgBox mailman.LastErrorText
End If
End Sub
[/align]
دقت فرمایید که تنظیمات سرور که در این مثال آورده شد فقط برای سرور Gmail با پورت 587 می باشد. چون Gmail من پورتش 587 بود این رو گذاشتم!
پورت دیگری که برای Gmail وجود دارد پورت 465 است که تنظیمات زیر را دارد.
mailman.SmtpHost = "smtp.gmail.com"
mailman.SmtpPort = 465
mailman.SmtpSsl = 1
در واقع در این مورد علاوه بر تغییر پورت TSL هم 0 (پیشفرض) تنظیم می شود.
برای این که بدانید کدام پورت هستید می توانید از کنترل پنل خود در Google از یا از Outlook کمک بگیرید. Outlook ابزاری دارد که می تواند به صورت اتومات تنظیمات اکانت های Google و برخی سرور های دیگر را تشخیص دهد.
[align=center][size=x-large]یک نمونه فرم برای ارسال ایمیل
http://www.mediafire.com/file/picxmiafq2mqw7z/Sending%20Mail.xlsm
دقت نمایید که باید حتما قبل از استفاده از فایل فوق کتابخانه که در بالا توضیح دادم باید نصب شود.
[/align][/size]
در نمونه زیر وقت فرمایید که برخی از اکانت های Gmail قابل استفاده است! به دلیل که بالا توضیح داده شد.
کد زیر :
کد:
[align=left]
Private Sub CommandButton1_Click()
Dim mailman As New ChilkatMailMan2
success = mailman.UnlockComponent("UnlockCode")
If success <> 1 Then
MsgBox ("عدم اعتبار ")
End If
mailman.SmtpHost = "smtp.gmail.com"
mailman.SmtpUsername = TextBox1.Text
mailman.SmtpPassword = TextBox2.Text
mailman.SmtpSsl = 1
mailman.SmtpPort = 587
mailman.StartTLS = 1
Dim email As New ChilkatEmail2
email.Subject = TextBox4.Text
email.From = TextBox1.Text + "@gmail.com>"
email.Body = TextBox5.Text
email.AddTo TextBox3.Text, TextBox3.Text
success = mailman.SendEmail(email)
If (success = 0) Then
MsgBox mailman.LastErrorText
else
MsgBox "پيام با موفقيت ارسال شد."
End If
End Sub
[/align]
تصویر زیر تصویر از فرم است:

فایل:
علاقه مندی ها (Bookmarks)