Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过代码跟踪通过smtp发送的电子邮件?_C#_Smtp_Gmail_Smtpclient - Fatal编程技术网

C# 如何通过代码跟踪通过smtp发送的电子邮件?

C# 如何通过代码跟踪通过smtp发送的电子邮件?,c#,smtp,gmail,smtpclient,C#,Smtp,Gmail,Smtpclient,我有一个应用程序,每天从C#程序发送2到3封电子邮件 我正在使用gmail.com提供的电子邮件,就像我的电子邮件是abc@xxxx.com这样我就可以通过abc@xxxx.com,(xxxx不是gmail,因为我使用的是谷歌邮件提供商) 因此,要发送电子邮件,我要传递SMTPUser nameabc@xxxx.com和abc@xxxx.com。当我与@xxxx.com的其他用户发送电子邮件时,让我们说def@xxxx.com至xyz@gmail.com 一旦我发送了电子邮件(通过C#程序),我

我有一个应用程序,每天从C#程序发送2到3封电子邮件

我正在使用gmail.com提供的电子邮件,就像我的电子邮件是
abc@xxxx.com
这样我就可以通过
abc@xxxx.com
,(xxxx不是gmail,因为我使用的是谷歌邮件提供商)

因此,要发送电子邮件,我要传递SMTPUser name
abc@xxxx.com
abc@xxxx.com
。当我与
@xxxx.com
的其他用户发送电子邮件时,让我们说
def@xxxx.com
xyz@gmail.com

一旦我发送了电子邮件(通过C#程序),我将在2/3小时后尝试登录到
abc@xxxx.com
通过www.gmail.com,我找到了我发送给
xyz@gmail.com
通过c#程序在该帐户的已发送项目中,即使我在
def@xxxx.com

所以我的问题是如何追踪来自www.gmail.com账户的此类电子邮件

我的问题是-当我通过c#程序发送电子邮件到xyz@gmail.com从…起abc@xxxx.com. 2/3小时后,我将与您一起前往www.gmail.com登录abc@xxxx.com但在的已发送邮件中找不到该已发送电子邮件xyz@gmail.com,同样地,我用def@xxxx.com在的已发送邮件中未找到任何电子邮件def@xxxx.com.Where我可以在哪个帐户的sent ITMES中找到发送的电子邮件

public MailMessage msg;
SmtpClient objSMTP;
MessageStatus msgStatus;


objSMTP = new SmtpClient("x.x.x.x");
objSMTP.Credentials = new System.Net.NetworkCredential("abc@xxxx.com","pwd", true));
//objSMTP.EnableSsl = true;
MsgFrmID = "test@xxxx.com"

msg.From = "def@xxxx.com";

msg.To="xyz@gmail.com;"
msg.Subject = MsgSubject;
msg.Body = MsgData;
objSMTP.Send(msg);

如果您的邮件发送不成功,它肯定会引发一些异常。因此,我们可以通过将其封装在
try…catch
块中来跟踪它,如下所示

        try
        {
            SmtpClient Smtp_Server = new SmtpClient();
            MailMessage e_mail = new MailMessage();
          //code here for mail message and client configuration
            Smtp_Server.Send(e_mail);
            MessageBox.Show("mail send successfully");
        }
        catch (Exception)
        {

            MessageBox.Show("failed to send mail");
        }

我已经读了两遍了,但仍然不确定问题是什么,或者你想做什么。你是在问如何跟踪你的电子邮件是否成功发送(请参阅不幸运的答案)或者是否收到(不可能以任何可靠的方式)@user1666620-我的问题是-当我通过c#程序发送电子邮件到xyz@gmail.com从…起abc@xxxx.com. 2/3小时后,我将与您一起前往www.gmail.com登录abc@xxxx.com但在的已发送邮件中找不到该已发送电子邮件xyz@gmail.com,同样地,我用def@xxxx.com在的已发送邮件中未找到任何电子邮件def@xxxx.com.Where我可以在哪个帐户的sent ITMES中找到发送的电子邮件?你确定你的代码实际上工作正常吗?您有什么异常日志记录?你能展示你的代码吗?@user1666620-我在我的问题中添加了我的代码,请参考。这似乎是我唯一知道的方式+祝你好运