מהיר וקל: שלח דואר אלקטרוני באמצעות שרת ה-SMTP ב- Gmail ב .NET C #

זה לא בדיוק נושא חדש, אבל כשהייתי צריכה לעשות את זה, מצאתי הרבה "לא למה זה עובד בשבילי", לא יותר מדי תשובות ישירות. אני מקווה שמישהו ימצא את זה שימושי.

הסיבית הבאה של הקוד ישלח דואר אלקטרוני באמצעות חשבון gmail שלי לעשות את זה, כולל קבצים מצורפים:

שימוש System.Net.Mail;
שימוש System.Net;

NetworkCredential loginInfo = חדש NetworkCredential("[תעודת הזהות שלי ב- Gmail]", "[הסיסמה שלי ב- Gmail]");
הודעת דואר מונוסודיום גלוטמט = חדש הודעת דואר();
מונוסודיום גלוטמט.מ = חדש MailAddress("[M ב- Gmail מזהה]@gmail.com");
מונוסודיום גלוטמט.To.Add(חדש MailAddress("paul.galvin@arcovis.com"));
מונוסודיום גלוטמט.הנושא = "מבחן infopath dev נושא";
מונוסודיום גלוטמט.הגוף = "<html><הגוף><חזקה>מסר חזק.</חזקה></הגוף></html>";
מונוסודיום גלוטמט.IsBodyHtml = נכון;

foreach (מחרוזת aFile ב NIPFD.GetAttachmentNamesAndLocations())
{
    מונוסודיום גלוטמט.Attachments.Add(חדש קובץ מצורף(aFile));
} // הוספת קבצים מצורפים.

SmtpClient לקוח = חדש SmtpClient("smtp.gmail.com");
לקוח.EnableSsl = נכון;
לקוח.UseDefaultCredentials = שווא;
לקוח.אישורי = loginInfo;
לקוח.יציאה = 587;
לקוח.EnableSsl = נכון;
לקוח.שלח(מונוסודיום גלוטמט);

כמה סיביות מפתח האטה אותי ותצפיות אחרים / הערות:

  • הקו הראשון שיוצר את האובייקט loginInfo צריך להשתמש את gmail שמזהה מרשיונך "@gmail.com”. כל כך, אם כתובת הדואר האלקטרוני שלי ב- gmail "! sharepoint@gmail.com"ואת הסיסמה שלי היא"xyzzy ב"אז הקו היה דומה:

NetworkCredential loginInfo = חדש NetworkCredential("sharepoint", "xyzzy");

  • החשבון שלי ב- gmail מוגדר לשימוש ב- SSL, זו לא היתה בעיה.
  • יש איזה מידע סותר לשם ביציאה מה להשתמש. השתמשתי יציאה 587 וזה עבד בשבילי.
  • במקרה שלי, רציתי גם לשלוח קבצים מצורפים. האובייקט NIPFD לו שיטה שיודע איפה הקבצים המצורפים שלי. . זה חוזר נתיב מלא (המסופקים. "c:\tempattachment1.jpg". במבחן שלי, מצורפים שני ואני שניהם עבד מצוין.

השתמשתי visual studio 2008 כדי לכתוב את הקוד הזה.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

תגיות טכנורטי: ,,,

2 מחשבות על "מהיר וקל: שלח דואר אלקטרוני באמצעות שרת ה-SMTP ב- Gmail ב .NET C #

  1. ג'ף

    בבלוג של צוות PowerShell מזמן במשרה דומה שמצאתי יקר ערך כמו ניהול שרת. Visual Studio נהדר אבל רבים מבני המחזור שלי אינם מפתחים ו אין רישיון רכש. ב- PowerShell מרגיש יותר כמו שורת הפקודה והוא נגיש יותר אליהם. רק הצעה עבור כל המנהלים שם בחוץ.

    הכי טוב,
    ג'ף (www.spjeff.com / @spjeff)

    שליחת דואר אלקטרוני אוטומטי עם שליחה-הודעת דואר

    http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

תשאיר הודעה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *