نحوه فعالسازی ایمیل در SQL Server یا Database Mail بخش اول - نسخهی قابل چاپ +- انجمن وب سایت مشاوره در زمینه پروژه های برنامه نویسی و طراحی وب سایتهای تجاری (http://forum.a00b.com) +-- انجمن: سوالها و مقاله های آموزشی (/forumdisplay.php?fid=1) +--- انجمن: مقاله های آموزشی (/forumdisplay.php?fid=3) +--- موضوع: نحوه فعالسازی ایمیل در SQL Server یا Database Mail بخش اول (/showthread.php?tid=52) |
نحوه فعالسازی ایمیل در SQL Server یا Database Mail بخش اول - ali - 02-18-2017 03:20 AM اس کیو ال سرور (سیکوئل سرور) SQL Server دارای بخشی به عنوان Database Mail میباشد که از بخش Management در SQL Server قابل دسترسی می باشد. از طریق این ابزار می توانید با تعریف JOB در زمانهای دلخواه پیامهایی به ایمیلهای مختلف ارسال نمایید. برای فعالسازی بر روی گزینه Database Mail عمل Right Click انجام می دهیم و بر روی Configure Database Mail کلیک می نماییم. (شکل زیر) پس از کلیک فرم زیر نمایش داده می شود که در آن باید بر روی Next کلیک نمایید. (شکل زیر) در مرحله بعدی فرمی نمایش داده می شود که باید در آن بر روی Setup database mail by performing following tasks کلید نمایید. این گزینه مربوط به زمانیست که Database Mail قبلا تعریف نشده یا اینکه بخواهید Database Mail دیگری نیز تعریف نمایید. (شکل زیر) پس از انجام موارد فوق بر روی کلید Next کلیک می نماییم تا به مرحله بعدی برویم. (شکل زیر) در این مرحله بایستی یک نام در بخش Profile Name وارد کنیم. از این نام در هنگام ایجاد JOB و یا در هنگام ارسال ایمیل با استفاده از Script SQL استفاده خواهیم کرد. این نام بیشتر زمانی کاربرد دارد که چندید ایمیل در Database Mail تعریف شده باشد و با این نام می توانید از Profile مربوطه برای ارسال ایمیل استفاده نمایید. پس از ورود Profile Name و Description بر روی Add کلید می نماییم تا بتوانیم تنظیمات SMTP مربوط به Email را انجام دهیم. (شکل زیر) اگر از آدرس ایمیل Gmail استفاده می نمایید تنظیمات را مانند شکل فوق انجام دهید. پس از انجام تنظیمات بر روی OK کلیک می نمائیم. نحوه فعالسازی ایمیل در SQL Server یا Database Mail بخش دوم - ali - 02-18-2017 03:21 AM پس از اینکه بر روی OK کلیک نمودید با صفحه ذیل مواجه خواهید شد که در آن Account یا Account های تعریف شده قبلی نمایش داده می شود. در فرم نمایش داده شده در شکل فوق بر روی کلید OK کلیک می نماییم و به فرم صفحه بعدی می رویم. (شکل زیر) در این صفحه می توانیم یکی از Account های SMTP را به صورت عمومی یا خصوصی به عنوان حساب پیشفرض تعریف کنیم. البته می توانیم بدون تعریف حساب پیشفرض از این گزینه عبور کنیم. در بخش بعدی یک سری تنظیمات مربوط به ارسال ایمیل فایلهای مجاز و . . . میباشد که بهتر است بدون تغییر از آنها بگذریم. بر روی کلید Next کلیک می نماییم. شکل زیر نشاندهنده تنظیمات صحیح ایمیل می باشد. در ادامه و در بخش سوم به بررسی نحوه تست و ارسال ایمیل توسط SQL Server می پردازیم. نحوه فعالسازی ایمیل در SQL Server یا Database Mail بخش سوم - ali - 02-20-2017 02:59 PM برای تست Database Mail بر روی همین گزینه مانند شکل زیر Right Click می نماییم. (شکل زیر) در صفحه ظاهر شده مانند شکل زیر یک سری فیلدها وجود دارد که بایستی بر اساس نیاز اطلاعات آنها را وارد نمود و ایمیل را ارسال کرد. ممکن است در هنگام ارسال ایمیل با پیغام خطای زیر مواجه شوید:
Troubleshooting SQL Server blocked access to procedure 'dbo.sp_send_dbmail' of component 'Database Mail XPs' because this component is turned off as part of the security configuration for this server
برای رفع این پیغام بایستی کوئری زیر را روی Server اجرا کنیم تا یک سری تنظیمات اولیه در Database Mail انجام شود. کد: USE MASTER
Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
در صورتی که با پیغام فوق مواجه شدید تنظیمات به درستی انجام شده است.Configuration option 'Database Mail XPs' changed from 1 to 1. Run the RECONFIGURE statement to install. Configuration option 'show advanced options' changed from 1 to 0. Run the RECONFIGURE statement to install. پس از ارسال صفحه ذیل قابل مشاهده می باشد. در صورتی که ایمیل به صحت به مقصد رسید بر روی OK کلیک نمایید. در غیر اینصورت برای اینکه خود SQL Server مشکل را بررسی و ایرادات را مشخص کند بر روی کلید Troubleshoot کلیک نمایید. ارسال ایمیل از طریق کد SQL Server برای این منظور به Profile Name که در بخش اول همین مقاله ایجاد شده نیازمندیم و از اسکریپت زیر استفاده می نماییم. کد: EXEC msdb.dbo.sp_send_dbmail و در نهایت برای مشاهده وضعیت ایمیهای ارسالی از اسکریپت SQL زیر استفاده می شود. کد: USE msdb |