一.打开 SHPT
打开以后,他会给你一个授权码,虽然授权码可以再次申请,但是由于发信息要花钱,建议你保存好给你的授权码,以免重复申请。
二. 代码
static void Main(string[] args)
{
MailMessage mailMsg = new MailMessage();//实例化对象
mailMsg.From = new MailAddress("xxxxxx@qq.com", "xxx");//源邮件地址和发件人
mailMsg.To.Add(new MailAddress("13687307xx@qq.com"));//收件人地址
mailMsg.Subject = "邮件发送测试";//发送邮件的标题
StringBuilder sb = new StringBuilder();
sb.Append("测试测试测试测试");
sb.Append("嘿嘿");
mailMsg.Body = sb.ToString();//发送邮件的内容
//指定smtp服务地址(根据发件人邮箱指定对应SMTP服务器地址)
SmtpClient client = new SmtpClient();//格式:smtp.126.com smtp.164.com
client.Host = "smtp.qq.com";
//要用587端口
client.Port = 587;//端口
client.EnableSsl = true; // 使用 SLL 加密
client.Credentials = new NetworkCredential("xxxxxx@qq.com", "xxxxx"); // 用户名和测试密码
//发送邮件
try
{
client.Send(mailMsg);
}
catch (SmtpException ex)
{
Console.WriteLine($"发送失败{ex.Message}");
}
Console.WriteLine("邮件已发送,请注意查收!");
Console.ReadKey();
}
三. StringBuilder 类
String不能被修改,每次使用String类时都要在内存中重新申请一个新的内存空间,若程序中需要用到大量的字符串修改操作,则会导致内存空间的大量消耗,所以引入StringBuilder类
方法 | 作用 |
---|---|
Append()方法 | 将新的字符串对象添加到已拥有的StringBuilder对象的末尾 |
AppendFormat(string format, object)方法 | 将文本添加到StringBuilder对象的末尾并且实现IFormattable接口 |
Insert(int index, string value)方法 | 在StringBuilder对象的 指定位置 index 插入 字符文本 |
Remove(int startIndex, int length)方法 | 表示从下标为startIndex处开始移除length个字符 |
Replace(string oldValue, string newValue)方法 | 将字符串中 所有的 等于 oldValue 的地方全部替换成为 newValue |
Clear()方法 | 清空StringBuilder内的所有内容 |
参考文献
[1] https://blog.csdn.net/zb756999355/article/details/97414782
[2] https://blog.csdn.net/qq_23931339/article/details/102475595