In .net 1.1 erfahren Sie, wie Sie E-Mails mithilfe der Programmsteuerung senden. Nachdem sich beispielsweise ein Website-Benutzer erfolgreich registriert hat, wird automatisch eine E-Mail an den registrierten Benutzer gesendet, in der er zur Eingabe seiner Registrierungsinformationen aufgefordert wird. Darüber hinaus ist es manchmal notwendig, jeden Tag regelmäßig einen Bericht an einige feste Personen zu senden. Insgesamt müssen die folgenden Probleme angegangen werden:
1. Authentifizierung der SMTP-Serveridentität.
2. So senden Sie, wenn es mehrere Empfänger gibt.
3. Senden Sie E-Mail-Anhänge.
Das Implementierungsverfahren ist wie folgt:
Um System.Web.Mail zu verwenden, referenzieren Sie es im Namespace:
Verwenden von System.Web.Mail;
Definieren Sie einen Prozess zum Senden von E-Mails
/**//// <Zusammenfassung>
/// E-Mail-Nachricht senden
/// </summary>
/// <param name="to">E-Mail-Adresse empfangen</param>
/// <param name="subject">E-Mail-Betreff</param>
/// <param name="body">E-Mail-Text</param>
/// <param name="mailatta">Anhang</param>
public void SendMail(string to,string subject,string body,MailAttachment mailatta)
{
MailMessage m_Mail = new MailMessage();
//Definieren Sie den Namen des SMTP-Servers
SmtpMail.SmtpServer = "mail.13590.com";
// Definieren Sie den SMTP-Mailserver, der eine Identitätsauthentifizierung erfordert
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Authentifizierter Benutzername
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "username");
//Authentifizierungspasswort
m_Mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword","password ");
//Definieren Sie die E-Mail-Sendeadresse
m_Mail.From=""Qiu Yu"< [email protected] >"
//Definieren Sie die E-Mail-Empfangsadresse
m_Mail.To = to.ToString();
//Definieren Sie die BCC-Adresse der E-Mail
m_Mail.Bcc=" [email protected] ";
//Definieren Sie die Kopieadresse der E-Mail
m_Mail.Cc = " [email protected] ";
//Definieren Sie den Betreff der E-Mail
m_Mail.Subject = Betreff;
//Definieren Sie den Text der E-Mail
m_Mail.Body = body;
//'E-Mail wird im HTML-Format gesendet
m_Mail.BodyFormat = MailFormat.Text;
//Definieren Sie die begrenzte E-Mail-Ebene und stellen Sie sie hier auf hoch ein
m_Mail.Priority = MailPriority.High;
// Einen Anhang an die gesendete E-Mail anhängen
if (mailatta!=null)
{
m_Mail.Attachments.Add(mailatta);
}
versuchen
{
SmtpMail.Send(m_Mail);
}
fangen
{
//Fehler beim Senden der E-Mail
Memo1.Text=Memo1.Text + Betreff;
}
}
Achten Sie auf die E-Mail-Adresse „“Qiu Yu“< [email protected] >“;
Vorne steht der angezeigte Name, gefolgt von der tatsächlichen E-Mail-Adresse. Wenn es sich bei der Empfängeradresse um mehrere Personen handelt, trennen Sie diese durch „;“, zum Beispiel:
„Qiu Yu“ < [email protected] >; „Administrator“ < [email protected] > Achten Sie auf die Verwendung von Escape-Zeichen.
Wir nutzen das Programm zum Aufrufen
private void button_Click(object sender, System.EventArgs e)
{
string MailAddr=""Qiu Yu"< [email protected]>; "Administrator"< [email protected] > ";
string Subject="Bitte überprüfen Sie den Statistikbericht";
string MailBody="Test";
string PathMailAtta=@"C: Statistical Report.xls";
MailAttachment mailatta;
versuchen
{
mailatta= new MailAttachment(PathMailAtta);
}
fangen
{
Memo1.Text=Memo1.Text+PathMailAtta+"Es gibt eine Ausnahme. Überprüfen Sie, ob sie geöffnet ist";
zurückkehren;
}
SendGroupMail(MailAddr,Subject,MailBody,mailatta);
}
Das obige Programm wurde unter den Plattformen VS.Net2003 und Windows 2003 (SP1) getestet.