Γρήγορη και εύκολη: Αποστολή ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας το Gmail SMTP διακομιστή σε C# .NET

Αυτό δεν είναι ακριβώς ένα νέο θέμα, αλλά όταν χρειάζεται να το κάνουμε, Βρήκα πολλά "γιατί δεν θα το έργο αυτό για μένα" και δεν είναι πάρα πολλές άμεσες απαντήσεις. Εγώ ελπίδα κάποιος βρίσκει αυτό το χρήσιμο.

Το παρακάτω κομμάτι του κώδικα θα στείλει ένα μήνυμα ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας το gmail λογαριασμό δικό μου να το κάνουμε, συμπεριλαμβανομένων των συνημμένων:

χρήση System.Net.Mail;
χρήση System.Net;

NetworkCredential loginInfo = νέα NetworkCredential("[Ταυτότητα Gmail μου]", "[Μου τον κωδικό πρόσβασης Gmail]");
MailMessage MSG = νέα MailMessage();
MSG. From = νέα MailAddress("[M Gmail Id]@gmail.com");
MSG. To.Add(νέα MailAddress("στο paul.galvin@arcovis.com"));
MSG. Θέμα = «Θέμα δοκιμής infopath dev";
MSG. Σώμα = "<HTML><οργανισμός><ισχυρή>Ένα ισχυρό μήνυμα.</ισχυρή></οργανισμός></HTML>";
MSG. IsBodyHtml = TRUE;

foreach (συμβολοσειρά aFile σε NIPFD. GetAttachmentNamesAndLocations())
{
    MSG. Attachments.Add η(νέα Συνημμένο(aFile));
} // Προσθήκη συνημμένων.

SmtpClient πελάτη = νέα SmtpClient("smtp.gmail.com");
πελάτη. EnableSsl = TRUE;
πελάτη. UseDefaultCredentials = ψευδές;
πελάτη. Διαπιστευτήρια = loginInfo;
πελάτη. Λιμάνι = 587;
πελάτη. EnableSsl = TRUE;
πελάτη. Αποστολή(MSG);

Μερικά βασικά κομμάτια που μου επιβραδύνθηκε και άλλες παρατηρήσεις / σημειώσεις:

  • Η πρώτη γραμμή που δημιουργεί το loginInfo αντικείμενο πρέπει να χρησιμοποιήσει το gmail ID απογυμνωθεί από "η @gmail.com”. Έτσι, Εάν η διεύθυνση ηλεκτρονικού ταχυδρομείου gmail μου είναι "στο sharepoint@gmail.com"και τον κωδικό πρόσβασής μου είναι"xyzzy"τότε η γραμμή θα εμοίαζε με:

NetworkCredential loginInfo = νέα NetworkCredential("sharepoint", "xyzzy");

  • Gmail λογαριασμό μου έχει ρυθμιστεί ώστε να χρησιμοποιούν SSL και αυτό δεν ήταν ένα πρόβλημα.
  • Υπάρχει κάποια αντικρουόμενες πληροφορίες εκεί έξω για το ποια θύρα να χρησιμοποιήσετε. Χρησιμοποίησα το λιμάνι 587 και αυτό έλυσα εξαιρετικός για εμένα.
  • Στην περίπτωσή μου, Επίσης χρειάζεται να στείλει συνημμένα. Αυτό το αντικείμενο NIPFD έχει μια μέθοδο που ξέρει πού είναι συνημμένα μου. Επιστρέφει μια διαδρομή πλήρως (π.χ.. "γ:\tempattachment1.jpg". Σε δοκιμασία η μου, Είχα δύο συνημμένα και οι δύο εργάστηκαν πρόστιμο.

Χρησιμοποίησα το οπτικό στούντιο 2008 να γράψετε αυτόν τον κώδικα.

</Τέλος>

Εγγραφείτε στο blog μου.

Συνέχεια μου για Twitter σε http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 thoughts on «Γρήγορη και εύκολη: Αποστολή ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας το Gmail SMTP διακομιστή σε C# .NET

  1. Jeff

    Το blog του PowerShell ομάδα είχε πρόσφατα μια παρόμοια θέση που έχω βρεί ανεκτίμητη ως ένα server 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

Αφήστε μια απάντηση, να Jeff Ακύρωση απάντησης

Η διεύθυνση email σας δεν θα δημοσιευθεί. τα απαιτούμενα πεδία είναι επισημασμένα *