ไม่ตรงหัวข้อใหม่, แต่เมื่อฉันจำเป็นต้องทำ, พบมาก "ทำไมจะไม่ทำงานนี้สำหรับฉัน" และคำตอบโดยตรงไม่มากเกินไป. หวังว่าคนพบนี้มีประโยชน์.
บิตการต่อไปนี้ของรหัสจะส่งอีเมล์ที่ใช้บัญชี gmail ของตัวเองจะทำได้, รวมทั้งสิ่งที่แนบมา:
โดยใช้ System.Net.Mail; โดยใช้ System.Net; NetworkCredential loginInfo = ใหม่ NetworkCredential("[ID ของฉัน Gmail]", "[รหัสผ่านของ Gmail]"); MailMessage msg = ใหม่ MailMessage(); msgจาก = ใหม่ MailAddress("[M Gmail Id]@gmail.com"); msgTo.Add(ใหม่ MailAddress("paul.galvin@arcovis.com")); msgเรื่อง = "ทดสอบเรื่อง dev infopath"; msgร่างกาย = "<html><เนื้อความ><รัดกุม>ความแข็งแรง</รัดกุม></เนื้อความ></html>"; msgIsBodyHtml = จริง; foreach (สายอักขระ aFile ใน NIPFDGetAttachmentNamesAndLocations()) { msgAttachments.Add(ใหม่ สิ่งที่แนบมา(aFile)); } // เพิ่มสิ่งที่แนบ. SmtpClient ไคลเอ็นต์ = ใหม่ SmtpClient("smtp.gmail.com"); ไคลเอ็นต์EnableSsl = จริง; ไคลเอ็นต์UseDefaultCredentials = เท็จ; ไคลเอ็นต์ข้อมูลประจำตัว = loginInfo; ไคลเอ็นต์พอร์ต = 587; ไคลเอ็นต์EnableSsl = จริง; ไคลเอ็นต์ส่ง(ข่าวสารเกี่ยวกับ); |
บิตสำคัญบางอย่างที่หน่วง me ลงและสังเกตอื่น ๆ / หมายเหตุ:
- บรรทัดแรกที่สร้างวัตถุ loginInfo ต้องใช้ gmail ID เปลื้อง "@gmail.com”. ดังนั้น, ถ้าที่อยู่อีเมล์ของ gmail "sharepoint@gmail.com"และรหัสผ่านของฉันคือ"xyzzy"บรรทัดแล้วจะมีลักษณะเหมือน:
NetworkCredential loginInfo = ใหม่ NetworkCredential("sharepoint", "xyzzy");
- มีตั้งค่าบัญชี gmail การใช้ SSL และที่ไม่มีปัญหา.
- มีข้อมูลบางอย่างขัดแย้งกันออกมีในพอร์ตใดใช้. ใช้พอร์ต 587 และจะทำงานที่ดีสำหรับฉัน.
- ในกรณีของฉัน, ฉันยังต้องการส่งสิ่งที่แนบ. วัตถุ NIPFD ที่มีวิธีการที่รู้อยู่ที่สิ่งที่แนบมาของฉัน. มันเป็นความเต็มเส้นทาง (เช่น. "c:\tempattachment1.jpg". ในการทดสอบของฉัน, ฉันมีสองสิ่งที่แนบมา และพวกเขาทั้งสองทำงานดี.
ใช้ visual studio 2008 การเขียนรหัสนี้.
</สิ้นสุด>
ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin
ง่าย และสะอาด…
ขอบคุณสำหรับการใช้งานร่วมกัน.
บล็อก PowerShell ทีมล่าสุดได้ประกาศในคล้ายกับที่พบข้อมูลอันมีค่าเป็น admin เซิร์ฟเวอร์. Visual Studio มีมาก แต่มากที่เพื่อนร่วมงานของฉันไม่ได้เป็นนักพัฒนา และไม่มีสิทธิ์การใช้งานซื้อ. PowerShell รู้สึกเพิ่มเติมเช่นบรรทัดคำสั่ง และสามารถเข้าถึงได้. เพียงคำแนะนำสำหรับผู้ดูแลระบบใด ๆ ออกมี.
ดีที่สุด,
Jeff (www.spjeff.com / @ spjeff)
ส่งอีเมล์อัตโนมัติพร้อมส่ง-MailMessage
http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx