C# 调用Lotus Notes发送邮件(图片可预览)

1 篇文章 0 订阅
1 篇文章 0 订阅

  1. 分享一段调用Lotus Notes邮箱发送邮件的代码,理论上只要是使用了SMTP协议的邮箱均可使用下面的代码发送邮件,只是在一些小地方需要修改而已。

        public void SendEmail()
        {
            //图片的位置
            string filePath = @"‪F:\robot.jpg";
            //收件人
            string emailTo = "填入邮箱地址";
            //副本抄送
            string copyTo = "填入邮箱地址";
            //设定smtp主机
            string smtpAddress = "你的IP";//IP
            //设定Port
            int portNumber = 25;
            bool enableSSL = false;
            //填入寄送方email
            string emailFrom = "hello@Administrator";
            //寄送方密码(可为空)
            string password = "";
            //主旨
            string subject = "demo";
            //內容
            string body = "<h1 style=\"color: red;\">Hello World!</h1><img src=\"‪F:\robot.jpg\"/>";//文字和图片
            using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress(emailFrom, "SMT System");
                mail.To.Add(emailTo);
                if (!string.IsNullOrEmpty(copyTo))
                {
                    mail.CC.Add(copyTo);
                }
                mail.Subject = subject;
                mail.Body = body;
                // 若你的內容是HTML格式,则为true
                mail.IsBodyHtml = true;
                //夹带附档
                mail.Attachments.Add(new Attachment(filePath));
                using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
                {
                    smtp.Credentials = new NetworkCredential(emailFrom, password);
                    smtp.EnableSsl = enableSSL;
                    smtp.Send(mail);
                }
            }
        }

 2. 实际效果

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#调用 C++ DLL 发送图片、并完成图片回调的步骤如下: 1. 在 C++ DLL 中定义一个函数,用于发送图片,并将发送结果通过回调函数返回给 C#。 2. 在 C# 中声明回调函数,并使用 Marshal.GetFunctionPointerForDelegate 方法获取回调函数的指针。 3. 在 C# 中声明 DLLImport 属性,用于指定 C++ DLL 的名称和函数签名。 4. 在 C#调用 C++ DLL 中的函数,并将回调函数的指针作为参数传递给该函数。 下面是一个简单的示例,演示如何在 C#调用 C++ DLL 发送图片,并完成图片回调: C++ DLL 代码: ```cpp // example.cpp #include "stdafx.h" typedef void(__stdcall *callback)(const char* result); extern "C" __declspec(dllexport) void send_image(const char* filename, callback cb) { // 发送图片的代码 // ... // 调用回调函数,将发送结果返回给 C# cb("发送成功"); } ``` C# 代码: ```csharp using System; using System.Runtime.InteropServices; class Program { // 定义回调函数 public delegate void ImageCallback(string result); // 获取回调函数的指针 static IntPtr imageCallbackPtr = Marshal.GetFunctionPointerForDelegate(new ImageCallback(ImageCallbackMethod)); [DllImport("example.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void send_image(string filename, IntPtr callback); static void Main(string[] args) { // 调用 C++ DLL 中的函数,并将回调函数的指针作为参数传递给该函数 send_image("test.jpg", imageCallbackPtr); } // 实现回调函数 static void ImageCallbackMethod(string result) { Console.WriteLine(result); } } ``` 在上面的示例中,我们首先在 C++ 中定义了一个名为 send_image 的函数,并使用 callback 类型定义了一个回调函数。然后我们在该函数中发送图片,并调用回调函数,将发送结果返回给 C#。在 C# 中,我们首先定义了一个名为 ImageCallback 的回调函数,并使用 Marshal.GetFunctionPointerForDelegate 方法获取该函数的指针。然后我们在 Main 函数中调用 send_image 函数,并将回调函数的指针作为参数传递给该函数。最后,我们在 ImageCallbackMethod 函数中实现回调函数,将发送结果打印到控制台上。 注意:在使用回调函数时,由于 C++ 与 C# 有不同的函数调用约定,因此需要使用 CallingConvention 属性指定函数调用约定。在上面的示例中,我们使用了 __stdcall 调用约定。另外,需要注意回调函数的参数类型和返回值类型,必须与 C++ DLL 中定义的回调函数完全匹配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值