C#中发送邮件的实现方法详解


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要为大家详细介绍了C#实现发送邮件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

#region 发送邮件部分

    private static String fromMail = "1111@126.com"///邮箱名称

    private static String mailPwd = "111111";     ///密码

    private static string toMail = "2222@163.com"///邮箱服务器

    private static string fileStr;//当前图片路径,在添加附件时用

    /// <summary>

    /// 发送邮件

    /// </summary>

    /// <param name="fileUrl">附件地址,以~分</param>

    /// <param name="screen">是否发送截屏</param>

    /// <returns></returns>

    public static string SendMail(string fileUrl, string screen)

    {

      

      MailAddress from = new MailAddress(fromMail);

      MailAddress to = new MailAddress(toMail);

 

      MailMessage message = new MailMessage(from, to);

      message.Subject = "M邮件 " +11111;//主题

      message.SubjectEncoding = System.Text.Encoding.UTF8;

 

      Attachment attachFile = new Attachment(fileStr);

      if (screen == "True")

        message.Attachments.Add(attachFile);

 

      string[] files = fileUrl.Split('~');

      for (int i = 0; i < files.Length; i++)

      {

        if (File.Exists(files[i]))

        {

          Attachment attachFile1 = new Attachment(fileUrl);

          message.Attachments.Add(attachFile1);

        }

      }

 

      try

      {

        SmtpClient client = new SmtpClient("smtp." + from.Host);

 

        SendMail(client, from, mailPwd, to, message);

 

        

        return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();

      }

      catch (SmtpException ex)

      {

        //如果错误原因是没有找到服务器,则尝试不加smtp.前缀的服务器

        if (ex.StatusCode == SmtpStatusCode.GeneralFailure)

        {

          try

          {

            //有些邮件服务器不加smtp.前缀

            SmtpClient client = new SmtpClient(from.Host);

            SendMail(client, from, mailPwd, to, message);

           

            return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();

 

          }

          catch (SmtpException err)

          {

            

            return "发送邮件失败!" + err.Message + "  " + DateTime.Now.ToString();

          }

        }

        else

        {

          

          return "发送邮件失败!" + ex.Message + "  " + DateTime.Now.ToString();

        }

      }

    }

 

    //根据指定的参数发送邮件

    private static void SendMail(SmtpClient client, MailAddress from, string password,

       MailAddress to, MailMessage message)

    {

      //不使用默认凭证,注意此句必须放在client.Credentials的上面

      client.UseDefaultCredentials = false;

      //指定用户名、密码

      client.Credentials = new NetworkCredential(from.Address, password);

      //邮件通过网络发送到服务器

      client.DeliveryMethod = SmtpDeliveryMethod.Network;

      try

      {

        client.Send(message);

      }

      catch

      {

        throw;

      }

      finally

      {

        //及时释放占用的资源

        message.Dispose();

      }

    }

    #endregion

以上就是C#中发送邮件的实现方法详解的详细内容!

相关阅读 >>

c# 利用委托进行异步处理实例代码

如何使用c#自定义音乐播放器进度条的实例分析

详细介绍.net并行与多线程学习基础

.net中json数据进行序列化和反序列化操作分析

c#怎么将 html转换为图片或 pdf?

javascript client 如何获取 telerik radgrid的值

.net core创建一个控制台(console)程序

c#开发中遇到的问题分享

c#与vb.net混合开发测试的详细介绍(图文)

c#操作styline二次开发实现画线功能

更多相关阅读请进入《csharp》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...