پیکربندی Database Mail  وارسال ایمیل از طریق  Database Mail

پیکربندی Database Mail وارسال ایمیل از طریق Database Mail

بسم الله الرحمن الرحیم

آموزش DataBase Mail

پیکربندی Database Mail  وارسال ایمیل از طریق  Database Mail

در این مقاله قصد داریم یک Database Mail  راه اندازی کنیم و بهتر است دوستانی که باDatabase Mail  آشنایی ندارند ابتدا معرفی و تفاوت آن را با SQLMail که قبلا در مورد آن مطلبی را قرار داده ام بررسی کنند.

برای شروع کار ابتدا باید Database Mail  را پیکر بندی کنیم، در این مرحله ابتدا یک profile ایجاد می کنیم

ابتدا SSMS (اسکیوال سرور) را باز می کنیم در بخش سمت چپ Object Explorer بر روی Management کلیک می کنیم و از گزینه های زیر مجموعه آن بر روی Database Mail  کلیک راست می کنیم و گزینه Configuration Database Mail  را انتخاب می کنیم

SendTextEmail

بسم الله الرحمن الرحیم

آموزش DataBase Mail

پیکربندی Database Mail  وارسال ایمیل از طریق  Database Mail

در این مقاله قصد داریم یک Database Mail  راه اندازی کنیم و بهتر است دوستانی که باDatabase Mail  آشنایی ندارند ابتدا معرفی و تفاوت آن را با SQLMail که قبلا در مورد آن مطلبی را قرار داده ام بررسی کنند.

برای شروع کار ابتدا باید Database Mail  را پیکر بندی کنیم، در این مرحله ابتدا یک profile ایجاد می کنیم

ابتدا SSMS (اسکیوال سرور) را باز می کنیم در بخش سمت چپ Object Explorer بر روی Management کلیک می کنیم و از گزینه های زیر مجموعه آن بر روی Database Mail  کلیک راست می کنیم و گزینه Configuration Database Mail  را انتخاب می کنیم

SendTextEmail

DatabaseConfiguration

 

 

در پنجره باز شده گزینهNext  را می زنیم و به مرحله بعد می رویم

 

SelectConfigurationTask

 

از پنجره Select Configuration Task گزینه اول را انتخاب می کنیم زیرا می خواهیم یک پروفایل ایجاد کنیم و به همراه آن ایمیل ارسال نماییم در این حالت همان طور که پنجره مربوطه توضیح داده شده است می توانیم امنیت و پارامترهای پیکربندی را تعیین نماییم به مرحله بعد می رویم در صورتی که Database Mail  فعال نباشد پیغامی در خصوص فعال سازی آن ظاهر خواهد شد، تایید کنید و به مرحله بعد بروید.

 

 آموزش SQL Server

 

 در این مرحله نام پروفایل خود به همراه توضیحات مربوطه را قید نمایید و سپس بر روی کامند Add کلیک نمایید. در پنجره باز شده پارامترهای مورد نیاز را تکمیل نمایید

 

CreateNewAccount

 

پارامترها مشخص است تنها پورت را باید پورت SMTP، میل سروری که می خواهید با آن ایمیل ارسال کنید تنظیم کنید به طور مثال در اینجا 25 است اما پورت یاهو ۵۸۷ است برای اطلاع از نام میل سرور و پورت هر سرور بهتر است این اطلاعات را جستجو نمایید.

 

1- سرویس GMail :

سرور : smtp.gmail.com

پورت سرور: ۴۶۵

امنیت ارتباط: TLS

 

2- سرویس Windows Live Mail

سرور : smtp.live.com

پورت سرور: ۵۸۷

امنیت ارتباط: TLS

 

3- سرویس Yahoo Mail

سرور : smtp.mail.yahoo.com

پورت سرور: ۵۸۷

امنیت ارتباط: TLS

 

در قسمت SMTP Authentication باید  basic Authentication  را انتخاب و ایمیل و کلمه عبوری که هنگام استفاده از ایمیلتان وارد می کنید ثبت نمایید

مراحل زیر را طی نمایید

 

ManageDefaultProfile

 

در این جا شما یم توانید ارسال کننده پیش فرض را مشخ کنید در صورتی که چندین ارسال کننده داشته باشید و ارسال کننده شما مشکلی داشته باشد اگر انتخاب کننده پیش فرض نیز تعیین کرده باشید از طریق ارسال کننده پیش فرض ارسال انجام خواهد شد

 

ConfigurationSystemParameters

 

پارامترها را به صورت پیش فرض قبول کرده ایم اما مشخص است هر پارامتر برای چیست

Account retry Attemp این پارامتر برای مشخص نمودن تعداد دفعات تلاش برای ارسال در صورت عدم ارسال است

Account retry Delay برای این است که در صورتی که ارسال ناموفق باشد و سیستم نتواند ایمیل را ارسال کند چند ثانیه منتظر باشد و مجددا ارسال انجام دهد

پارامتر بعدی حداکثر میزان قبول کردن اتچمنت برای یک ایمیل است

پارامتر بعدی برای تعین پسوندهای مجاز جهت اتچ کردن است

و..

 

SuccessDatabaseMail

 

ارسال ایمیل

بعد از ساختن Database Mail و پیکر بندی آن نیاز داریم که Database Mail XPs را نیز از طریق پروسیجر sp_configure  تنظیم نماییم برای این کار دستور زیر را باید اجرا کنیم


sp_CONFIGURE 'show advanced', 1
GO

RECONFIGURE
GO

sp_CONFIGURE 'Database Mail XPs', 1
GO

RECONFIGURE
GO

نکته پایگاه داده را باید بر روی گزینه ReportServer قرار دهید

 

ConfigDataBaseMailXPs

 

حال از گزینه دوم منو زیر را انتخاب کنید تا یک ایمیل تست ارسال شود و مطمئن شوید سرویس شما به درستی تنظیم شده است

 

SendTextEmail

 

 

ارسال ایمیل با پروسیجر

پس از پیکربندی موفقیت آمیز ما باید ایمیل را از طریق یک پروسیجر با نام sp_send_dbmail ارسال نماییم برای ارسال ایمیل می بایست یک سری پارمتر ا تنظیم نماییم که در زیر مشخص گردیده است


USE msdb
GO
EXEC sp_send_dbmail @profile_name='PinalProfile',
@recipients='test@Example.com',
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'

 

 آموزش SQL Server

پس از تایید شدن پارمترهای تعیین شده، پروسیجر اجرا می شود و ایمیل در صفی توسط Service Broker قرار می گیرد.

Database Mail یک نسخه از ایمیل های ارسال شده را نگهداری می کند و آنها را در sysmail_allitems, sysmail_sentitems, sysmail_unsentitems, sysmail_faileditems نمایش می دهد

 وضعیت ایمیل های ارسال شده در تیبل sysmail_mailitems نمایش داده می شود هنگامی که ایمیلی با موفقیت ارسال شود وضعیت فیلد sent_status در تیبل sysmail_mailitems برابر با یک می شود. وضعیت ایمیل های ارسال نشده یا همان failed شده ها در فیلد sent_status مقدارشان برابر 2 است و آنهایی هم که تنظیم نشده اند وضعیتشان برابر 3 قرار می گیرد

 


SELECT * FROM sysmail_mailitems
GO

SELECT * FROM sysmail_log
GO

 

sysMail

 

 

select * from sysmail_sentitems

 

SentItem

 

 

 

یا علی

نظرات

  • Hannah Martinez
    موسی
    دو شنبه 11 دی 1278 - 0:00

    سلام

    مشکل قبلی حل شد ولی ..

    توضیح ندادین این Database Mail XPs چیه ؟
    من تست کردم نشد failure زد.

    من همچنان منتظرم این قسمت آخر را درست کنم.
    اگر یه آموزش ویدئویی بزارین خیلی عالی میشه توی picofile آپلود کنید.
    با تشکر

    • Judith Bell
      پاسخ
      اسماعیلشیدایی
      دو شنبه 11 دی 1278 - 0:00

      با سلام

      Database Mail XPs در واقع یک سرویس است که با استفاده از آن شما می توایند اطلاعات مربوط به ارسال و دریافت ایمیل را ذخیره و همچنین از  Stored Procedure های این سرویس برای کنترل، زمانبندی و سایر فعالیت های مربوط به مدیریت ارسال و دریافت ایمیل استفاده کنید.
      یاعلی

  • Hannah Martinez
    موسی
    دو شنبه 11 دی 1278 - 0:00

    سلام

    مهندس نگفتی چطوری باید Report Services را انتخاب کنیم و فیلد های پایین ترو چی بزاریم ؟
    ُServer name
    Authentication

    Username
    paddword

    اینا را چی انتخاب کنیم؟


    • Judith Bell
      پاسخ
      اسماعیلشیدایی
      دو شنبه 11 دی 1278 - 0:00

      با سلام
      برای انصال به Report Services باید همان تنظمیماتی را که در هنگام اتصال به Database Engine مشخص می کنید، انتخاب کنید. البته این مورد طبیعتا بستگی به دارد در هنگام نصب SQL Sever چطور عمل کرده باشید، اما معمولا همه افراد به صورت پیش فرض تنظیمات را انتخاب می کنند در نتیجه شما اگر در هنگام اتصال به Database Engine خود از Windows Authentication استفاده می کنید در اینجا نیز باید همین گزینه را انتخاب کنید.
      Server Name شما دقیقا همان Server Name ایی است که با آن پایگاه داده خود را ایجاد می کنید مثلا می تواند "." باشد که معادل local host است.

      در صورتی که گزینه Windows Authentication را انتخاب کنید باید نام کاربری و کلمه عبور SQL Server خود را وارد نمایید.

      اگر در زمان نصب SQL Server سرویس Reporting Service را به صورت Windows Authentication نصب کرده باشید طبیعتا نیازی به نام کاربری و کلمه عبور نیست.

      اما فارق از تمامی نکات بالا بنده فکر می کنم بهتر است ابتدا بررسی کنید که آیا زمان نصب SQL Server آیا Reporting Service را نصب کرده اید و یا خیر برای بررسی می توانید از SQL Server Configuration Manager استفاده کنید و در آن سرویس ها و Instance هایی را که نصب کرده اید مشاهده کنید.

      موفق باشید

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس