الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إرسال بريد باستخدام دومين خاص بك ..

بدأه ahmedtharwat19 في 14 يناير 2010 · 6 رد · 888 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

أخوتي في الله ...

عندما كنت أبحث عن smtp الخاص بالهوتميل و جدت موضوعا أتمنى من الجميع المشاركه فيه

الموضوع يتكلم عن إنشاء دومين خاص و إيميل خاص بمزاجك أو باسم شركتك

سأضع الكود و أضع مرفق الموضوع

أتمنى أن نصل إلى حل في هذا الموضوع

أترككم مع الكود

Option Explicit

'Add functions - add one email address.
' adds postoffice, mailbox, login And maps email address
Public Function AddFullEmail(ByRef Email As String, _
ByRef Password As String) As Long

Dim UserName As String, Domain As String
Domain = Split(Email, "@")(1)
UserName = Split(Email, "@")(0)

Dim result As Long
result = createPostOffice(Domain)
If result <> 0 Then result = AddDoaminToPostOffice(Domain)
If result <> 0 Then result = AddMailBoxToPostOffice(Domain, UserName)
If result <> 0 Then result = AddLogin(Domain, UserName, Password)
If result <> 0 Then result = AddEmail(Domain, UserName, Email)
AddFullEmail = result
End Function

Function createPostOffice(ByRef name As String) As Long
Dim lResult As Long
Dim PostOffice As New MEAOPO.PostOffice
'Set PostOffice = createObject("MEAOPO.Postoffice")

With PostOffice
.name = name
.Host = name
.Account = name
.Status = 1
'Try To get existing postoffice
lResult = .GetPostoffice()
If lResult = 0 Then 'create the postoffice
lResult = .AddPostoffice()
Else 'Postoffice already exists.
lResult = -1
End If
End With
createPostOffice = lResult
End Function

'Adds domain To postoffice
Function AddDoaminToPostOffice(ByRef PostOffice As String, _
Optional ByVal DomainName As String = "") As Long
If Len(DomainName) = 0 Then DomainName = PostOffice

Dim lResult As Long
Dim oDomain As New MEAOSM.Domain
'Set oDomain = createObject("MEAOSM.Domain")

With oDomain
.AccountName = PostOffice
.DomainName = DomainName
.Status = 1
'try To get existing domain.
lResult = .GetDomain
If lResult = 0 Then 'create the postoffice
lResult = .AddDomain
Else 'Postoffice already exists.
lResult = -1
End If
End With
AddDoaminToPostOffice = lResult
End Function


'Adds mailbox To postoffice
Function AddMailBoxToPostOffice(ByRef PostOffice As String, _
ByRef UserName As String, _
Optional ByVal Limit As Long = -1) As Long


Dim lResult As Long
Dim oMailbox As New MEAOPO.Mailbox
'Set oMailbox = createObject("MEAOPO.Mailbox")

With oMailbox
.PostOffice = PostOffice
.Mailbox = UserName
.RedirectAddress = ""
.RedirectStatus = 0
.Status = 1

'try To get existing Mailbox.
lResult = .GetMailbox
If lResult = 0 Then 'create the Mailbox
.Limit = Limit
lResult = .AddMailbox()
Else 'Mailbox already exists.
lResult = -1
End If
End With
AddMailBoxToPostOffice = lResult
End Function


'Adds Login To postoffice
Function AddLogin(ByRef PostOffice As String, _
ByRef UserName As String, ByRef Password As String) As Long


Dim lResult As Long
Dim oAUTHLogin As New MEAOAU.Login
'Set oAUTHLogin = createObject("MEAOAU.Login")

'when we create a mailbox we also create a pop logon
With oAUTHLogin
.Account = PostOffice
.UserName = UserName & "@" & PostOffice
.Status = 1
.Description = ""
.Host = ""
.Rights = "USER"

'try To get existing login.
lResult = .GetLogin()
If lResult = 0 Then 'create the login
.Password = Password
lResult = .AddLogin()
Else 'login already exists.
lResult = -1
End If
End With
AddLogin = lResult
End Function

'Adds domain To postoffice
Function AddEmail(ByRef PostOffice As String, _
ByRef UserName As String, ByRef Email As String) As Long

Dim lResult As Long
Dim oAddressMap As New MEAOAM.AddressMap
' Set oAddressMap = createObject("MEAOAM.AddressMap")

With oAddressMap
Dim varTemp

.Account = PostOffice
.DestinationAddress = "[SF:" & PostOffice & "/" & UserName & "]"
.Scope = "[SMTP:" & Email & "]"
.SourceAddress = "[SMTP:" & Email & "]"

'try To get existing email address.
lResult = .GetAddressMap
If lResult = 0 Then 'create a new email address map
lResult = .AddAddressMap()
Else 'email address already exists.
lResult = -1
End If
End With
AddEmail = lResult
End Function




'****************** control functions **********************
'retrieves a password from an email address (username@postoffice)
Public Function GetPassword(ByRef Email As String) As String
Dim oLogin
Set oLogin = GetoLogin("" & Split(Email, "@")(1), _
"" & Split(Email, "@")(0))
GetPassword = oLogin.Password
End Function

'checks If the login/account is created.
Public Function ExistsLogin(ByRef Email As String) As Boolean
ExistsLogin = IsObject(GetoLogin("" & Split(Email, "@")(1), _
"" & Split(Email, "@")(0)))
End Function

'Returns a login object
Function GetoLogin(ByRef PostOffice As String, _
ByRef UserName As String)

Dim lResult As Long
Dim oAUTHLogin As New MEAOAU.Login
'Set oAUTHLogin = createObject("MEAOAU.Login")

With oAUTHLogin
.Account = PostOffice
.UserName = UserName & "@" & PostOffice
.Status = 1
.Description = ""
.Host = ""
.Rights = "USER"

'try To get existing login.
lResult = .GetLogin()
If lResult <> 0 Then 'create the login
Set GetoLogin = oAUTHLogin
End If
End With
End Function

'checks If the email address is mapped To an account.
Public Function ExistsEmail(ByRef Email As String) As Boolean
Dim lResult As Long
Dim oAddressMap As New MEAOAM.AddressMap
' Set oAddressMap = createObject("MEAOAM.AddressMap")

Dim PostOffice As String
PostOffice = Split(Email, "@")(1)
With oAddressMap
Dim varTemp

.Account = PostOffice
.SourceAddress = "[SMTP:" & Email & "]"

'try To get existing address.
lResult = .GetAddressMap
ExistsEmail = lResult <> 0
End With
End Function

أو الاطلاع على الرابط التالي

الرابط

منتظر الردود و الاقتراحات

أخوكم / أبو مروان

TSB76.gif

*****************************

نبذه عني اضغط على اسمي ----> th.gif

#2

المرفق

mail server test.rar

TSB76.gif

*****************************

نبذه عني اضغط على اسمي ----> th.gif

#3

اخي الفاضل أحمد ثروت ( ابو مروان )

السلام عليكم ورحمة الله وبركاته

في اعتقادي ان هذا الموضوع يخص فقط صفحات ASP وكذلك ملقم Microsoft IIS فلو عدنا بالرابط الى الصفحة الرئيسية للموقع ستجد ان جميع الشروحات تخص الـ ASP

post-15367-12634598122324_thumb.gif

لذا من الطبيعي جدا عندما تقوم بعمل خادم شخصي لك على جهازك او في اي سيرفر مستأجر تستطيع ان تقوم بعمل ما تريد مثل الدومين الخاص بك وكذلك البريد الرئيسي مثل Webmaster@Domain.com فعلى سبيل المثال نجد ان البريد الرئيسي لمنتديات الفريق العربي للبرمجة هو مثلا Webmaster@arabteam2000.com

اما بالنسبة للكود او الوظيفة التي تفضلتم بها فهي وظيفة عادية تستطيع استخدامها مع اي خادم خاص لك ولكن في اعتقادي انك لو استأجرت سيرفر فستجد جميع الخدمات متوفره به مثل اعطاءك دومين خاص بك وكذلك بريد رئيسي وحوالي 20 بريد فرعي .

بالتوفيق

1
#4

شرف لي كبير أن تقوم الأخت الفاضله و الاستاذه التي أتمنى أن أكون مثلها في أحد الأيام أن تقوم بالرد على موضوعي

أختي الكريمه أعرف أن الكود مستخدم لما تفضلتي به بأنه يخص يخص فقط صفحات ASP وكذلك ملقم Microsoft IIS

هل من الممكن أن نقوم به في الأكسس لادخاله على برامجنا أم لا ؟؟

أنا متشكر جدا لمشاركتك موضوعي

أخوك في الله

أبو مروان

TSB76.gif

*****************************

نبذه عني اضغط على اسمي ----> th.gif

#5

اخي الفاضل احمد ثروت

لكي تستطيع ارسال بريد من جهازك والذي ستحوله حتما الى سيرفر فأنت تحتاج الى برنامج febootimail.exe وهوعلى هذا الرابط وهو غير مجاني

http://www.febooti.com/downloads/command-line-email/

رابط التحميل مباشرة

http://www.febooti.com/downloads/files/febootimail32.exe

قم بتحميله ثم قم بتثبيته وستجده في البرامج بهذا الشكل

post-15367-12634908373444_thumb.gif

حيث ان هذا البرنامج يتعامل مع بيئة الدوس القديم MS DOS حيث ان جميع البارامترات parameters الخاصة به تؤخذ مباشرة من البرنامج بعد فتحه في الكود او الوظيفة الموجوده في برنامجكم المرفق

http://www.febooti.com/products/command-line-email/online-help/#parameters

post-15367-12634909584167_thumb.gif

فهو يحتاج الى كامل اسم السيرفر الخاص بالبريد بصيغة SMTP وكذلك البورت

Sub send_email()
  ' Send Access e-mail and output the result.

  Dim server
  Dim subj
  Dim body
  Dim command

  ' Define all email parameters.

  server = " -SMTP smtp.sender.com -PORT 25"
  subj = "email using Access VBA"

  body = """This is <I>HTML / MIME</I> e-mail message "
  body = body & "sent from MS ACCESS VB script<BR>"
  body = body & "using <B>Febooti Command line email</B>"""

  command = "febootimail.exe -HTML -FROM access-script@sender.com "
  command = command & "-TO john@recipient.com "
  command = command & "-SUBJ " & subj & " -BODY " & body & server

  ' We are passing one long line to Scripting object.
  ' If you need to add aditional parameters, do it before.

  Dim wsShell, proc
  Set wsShell = CreateObject("wscript.shell")
  Set proc = wsShell.Exec(command)

  Dim s: s = ""
  Do While proc.Status = 0
    ' Yields execution so that the operating system can process other events
    DoEvents
  Loop

  ' Use proc.ExitCode to check for returned %errorlevel%

  s = s & "StdOut=" & proc.StdOut.ReadAll()
  s = s & Chr(13) & Chr(10) & "ExitCode=" & proc.ExitCode
  MsgBox (s)

  Set wsShell = Nothing
  Set proc = Nothing

  ' Error Level values and descriptions are available at:
  ' www.command-line-email.com/online-help/batch-file-errorlevel.html
End Sub

لاحظ معي هنا اسم سيرفر البريد ( قد يكون لك اسم سيرفر بريد مختلف عن هذا فقد تحصل عليه بالشراء من اي شركه خاصة بحجز النطاقات )

server = " -SMTP mail.parkfinance.com -PORT 25"

اذا رغبت في سيرفر بريد خاص بك فستحصل على مثل هذا مثلا :

mail.AhmedTharwat.com

ثم يأتي بعد ذلك اسم موضوع الرسالة

subj = "email using Access VBA"

ثم يأتي بعد ذلك جسم الرسالة وهو بصيغة HTML

body = """This is <I>HTML / MIME</I> e-mail message "
body = body & "sent from MS ACCESS VB script<BR>"
body = body & "using <B>Febooti Command line email</B>"""

ثم يأتي أمر command وهو خاص لإرسال الرساله وهذا الكود خاطئ بهذه الطريقة :

command = "febootimail.exe -HTML -FROM access-script@sender.com "
command = command & "-TO john@recipient.com "
command = command & "-SUBJ " & subj & " -BODY " & body & server

حيث لا يمكن بأي حال من الأحوال تجزئية امر الإرسال فلو تم وضعه في الكود بالطريقة السابقة فستحصل على خطأ ولن يعمل البرنامج والصحيح هو بهذه الطريقة :

command = febootimail.exe -HTML -FROM access-script@sender.com -TO john@recipient.com -SUBJ Test message -BODY Sample body -SMTP mail.parkfinance.com -PORT 25

اي تجعله في سطر واحد متصل لكي يعمل ويقبل برنامج febootimail.exe سطر الأوامر المكتوب

ثم تأتي بقية الأوامر المكمله الخاصة بتكوين سيكربت الإرسال

هذا ما لزم التنويه عنه وخاصة عند ارسالك بريد من خلال SMTP mail.server

بالتوفيق

2
#6

السلام عليكم ورحمة الله وبركاته

تبارك الله ما شاء الله الأخت زهرة

بحر من العلم

نفع الله بك الأمة يا أخت زهرة وجعلك ذخراً للإسلام والمسلمين .

ورزقك الذرية الصالحة إنه سميع مجيب الدعاء .

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#7

الأخت الفاضله زهرة

لك مني كل ود و احترام ، بارك الله فيك و جعله في ميزان حسناتك

أتمنى أن أصبح يوما مثلك في العلم

أخوك في الله

أبو مروان

TSB76.gif

*****************************

نبذه عني اضغط على اسمي ----> th.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…