網站首頁 編程語言 正文
實踐過程
效果
代碼
public partial class frmSend : Form
{
public frmSend()
{
InitializeComponent();
}
//對郵件內容進行編碼
private static string Base64Encode(string str)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
}
private void SendEmail(MailMessage message)
{
message.Subject = Base64Encode(txtSubject.Text); //設置發送郵件的主題
message.Body = Base64Encode(txtContent.Text); //設置發送郵件的內容
//實例化SmtpClient郵件發送類對象
SmtpClient client = new SmtpClient(txtServer.Text, Convert.ToInt32(txtPort.Text));
//設置用于驗證發件人身份的憑據
client.Credentials = new System.Net.NetworkCredential(txtName.Text, txtPwd.Text);
//發送郵件
client.Send(message);
}
private void frmSend_Load(object sender, EventArgs e)
{
txtServer.Text = Dns.GetHostName();
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
if (validateEmail(txtSend.Text))
{
//設置郵件發送人和接收人
MailMessage message = null;
if (txtTo.Text.IndexOf(",") != -1)
{
string[] strEmail = txtTo.Text.Split(',');
string sumEmail = "";
for (int i = 0; i < strEmail.Length; i++)
{
sumEmail = strEmail[i];
message = new MailMessage(new MailAddress(txtSend.Text), new MailAddress(sumEmail));
SendEmail(message);
}
}
else
{
message = new MailMessage(new MailAddress(txtSend.Text), new MailAddress(txtTo.Text));
SendEmail(message);
}
MessageBox.Show("發送成功");
}
}
catch
{
MessageBox.Show("發送失敗!");
}
}
private void frmSend_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult = DialogResult.OK;
}
#region 驗證輸入為Email
/// <summary>
/// 驗證輸入為Email
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool validateEmail(string str)
{
return Regex.IsMatch(str, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
}
partial class frmSend
{
/// <summary>
/// 必需的設計器變量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
/// <param name="disposing">如果應釋放托管資源,為 true;否則為 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗體設計器生成的代碼
/// <summary>
/// 設計器支持所需的方法 - 不要
/// 使用代碼編輯器修改此方法的內容。
/// </summary>
private void InitializeComponent()
{
this.txtContent = new System.Windows.Forms.TextBox();
this.txtSubject = new System.Windows.Forms.TextBox();
this.txtPort = new System.Windows.Forms.TextBox();
this.txtServer = new System.Windows.Forms.TextBox();
this.txtPwd = new System.Windows.Forms.TextBox();
this.txtName = new System.Windows.Forms.TextBox();
this.txtTo = new System.Windows.Forms.TextBox();
this.txtSend = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.btnSend = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// txtContent
//
this.txtContent.Location = new System.Drawing.Point(23, 143);
this.txtContent.Multiline = true;
this.txtContent.Name = "txtContent";
this.txtContent.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.txtContent.Size = new System.Drawing.Size(519, 100);
this.txtContent.TabIndex = 7;
//
// txtSubject
//
this.txtSubject.Location = new System.Drawing.Point(88, 94);
this.txtSubject.Name = "txtSubject";
this.txtSubject.Size = new System.Drawing.Size(186, 21);
this.txtSubject.TabIndex = 6;
//
// txtPort
//
this.txtPort.Location = new System.Drawing.Point(356, 62);
this.txtPort.Name = "txtPort";
this.txtPort.Size = new System.Drawing.Size(186, 21);
this.txtPort.TabIndex = 5;
//
// txtServer
//
this.txtServer.Location = new System.Drawing.Point(88, 63);
this.txtServer.Name = "txtServer";
this.txtServer.Size = new System.Drawing.Size(186, 21);
this.txtServer.TabIndex = 4;
//
// txtPwd
//
this.txtPwd.Location = new System.Drawing.Point(356, 34);
this.txtPwd.Name = "txtPwd";
this.txtPwd.PasswordChar = '*';
this.txtPwd.Size = new System.Drawing.Size(186, 21);
this.txtPwd.TabIndex = 3;
//
// txtName
//
this.txtName.Location = new System.Drawing.Point(88, 35);
this.txtName.Name = "txtName";
this.txtName.Size = new System.Drawing.Size(186, 21);
this.txtName.TabIndex = 2;
//
// txtTo
//
this.txtTo.Location = new System.Drawing.Point(356, 6);
this.txtTo.Name = "txtTo";
this.txtTo.Size = new System.Drawing.Size(186, 21);
this.txtTo.TabIndex = 1;
//
// txtSend
//
this.txtSend.Location = new System.Drawing.Point(88, 6);
this.txtSend.Name = "txtSend";
this.txtSend.Size = new System.Drawing.Size(186, 21);
this.txtSend.TabIndex = 0;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(15, 121);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 12;
this.label8.Text = "郵件內容:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(15, 93);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 11;
this.label7.Text = "郵件主題:";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(290, 65);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(53, 12);
this.label6.TabIndex = 14;
this.label6.Text = "端口號:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(21, 65);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 17;
this.label5.Text = "服務器:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(278, 37);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(77, 12);
this.label4.TabIndex = 16;
this.label4.Text = "發件人密碼:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(9, 37);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(77, 12);
this.label3.TabIndex = 15;
this.label3.Text = "發件人名稱:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(290, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(53, 12);
this.label2.TabIndex = 13;
this.label2.Text = "收件人:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(21, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 18;
this.label1.Text = "發件人:";
//
// btnSend
//
this.btnSend.Location = new System.Drawing.Point(217, 251);
this.btnSend.Name = "btnSend";
this.btnSend.Size = new System.Drawing.Size(116, 23);
this.btnSend.TabIndex = 9;
this.btnSend.Text = "發送";
this.btnSend.UseVisualStyleBackColor = true;
this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
//
// frmSend
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(551, 279);
this.Controls.Add(this.txtContent);
this.Controls.Add(this.txtSubject);
this.Controls.Add(this.txtPort);
this.Controls.Add(this.txtServer);
this.Controls.Add(this.txtPwd);
this.Controls.Add(this.txtName);
this.Controls.Add(this.txtTo);
this.Controls.Add(this.txtSend);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnSend);
this.Name = "frmSend";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "使用SMTP服務發送不帶附件的郵件";
this.Load += new System.EventHandler(this.frmSend_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSend_FormClosing);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox txtContent;
private System.Windows.Forms.TextBox txtSubject;
private System.Windows.Forms.TextBox txtPort;
private System.Windows.Forms.TextBox txtServer;
private System.Windows.Forms.TextBox txtPwd;
private System.Windows.Forms.TextBox txtName;
private System.Windows.Forms.TextBox txtTo;
private System.Windows.Forms.TextBox txtSend;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnSend;
}
原文鏈接:https://blog.csdn.net/qq_27489007/article/details/128365635
相關推薦
- 2022-06-01 kubernetes中的namespace、node、pod介紹_云和虛擬化
- 2022-10-14 laravel 中關于模型查詢構造器的特殊用法
- 2022-09-26 Qt如何實現輸入框@聯系人的@檢測的示例_C 語言
- 2022-06-24 python和Appium移動端多設備自動化測試框架實現_python
- 2022-08-17 C語言超全面覆蓋操作符知識點_C 語言
- 2022-04-24 C語言的abs()函數和div()函數你了解嗎_C 語言
- 2022-05-28 python中flatten()參數示例詳解_python
- 2022-12-01 Docker系列學習之Swarm?mode管理節點常用命令詳解_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支