C# 用C语言发送无密码邮件

C# 用C语言发送无密码邮件,c#,asp.net,smtpclient,C#,Asp.net,Smtpclient,我正在开发一个Asp.net应用程序。我有一个电子邮件提醒表,其中提供了我客户的电子邮件ID和复选框。管理员将选中复选框并按下发送提醒按钮,邮件将发送到所有选中的复选框,即发送给我的客户。但在这种形式下,我有一个文本框,上面写着“发件人”,管理员将在其中输入发件人电子邮件ID,并从该电子邮件ID将所有电子邮件发送给我的客户 我如何发送没有密码的邮件,因为管理员可以根据他的要求使用我们公司的任何电子邮件ID。我怎样才能做到这一点 这是我的密码 SmtpClient smtpClient = new

我正在开发一个Asp.net应用程序。我有一个电子邮件提醒表,其中提供了我客户的电子邮件ID和复选框。管理员将选中复选框并按下发送提醒按钮,邮件将发送到所有选中的复选框,即发送给我的客户。但在这种形式下,我有一个文本框,上面写着“发件人”,管理员将在其中输入发件人电子邮件ID,并从该电子邮件ID将所有电子邮件发送给我的客户

我如何发送没有密码的邮件,因为管理员可以根据他的要求使用我们公司的任何电子邮件ID。我怎样才能做到这一点

这是我的密码

SmtpClient smtpClient = new SmtpClient
                {
                    Host = "smtp.office365.com",
                    Port = 25,
                    UseDefaultCredentials = true,
                    EnableSsl = true,
                    Credentials = new NetworkCredential("Adminsupport@abc.com", "123456")
                };
                var mailMessage = new MailMessage();
                mailMessage.Subject = subject;
                mailMessage.From = new MailAddress("Adminsupport@abc.com");
                mailMessage.IsBodyHtml = true;
                mailMessage.Body = body;
                    //"Email from : <a href='mailto:" + from + "' target='_blank'>" + from + "</a><br/>For Form Name : ";
                mailMessage.To.Add(new MailAddress(tomail));

                smtpClient.Send(mailMessage);

                mailMessage.Dispose();
                smtpClient.Dispose();

好的,听起来你想要两件事中的一件

您可能想要欺骗电子邮件地址,在这种情况下,您将实际更改From标头字段。这将向收件人显示您想要的电子邮件地址和姓名

mail.From = new MailAddress("me@mycompany.com", "Steve James" );
另一个可能的答案是,您希望实际使用自己的登录凭据发送电子邮件,但要让它“从”您有exchange发送权限的帐户发送。这是特定于MS Outlook/Exchange的回答-您需要通过MS Outlook互操作API发送

 // Retrieve the account that has the specific SMTP address. 
        Outlook.Account account = GetAccountForEmailAddress(oApp , "support@mydomain.com"); 
        // Use this account to send the e-mail. 
        oMsg.SendUsingAccount = account; 

这将确保只有具有“从”地址发送邮件的适当权限的人才能这样做,因为这会将身份验证级别检查卸载到MS Outlook。

创建一个新用户,仅用于从web应用程序发送邮件,并在应用程序中配置其凭据

然后配置该用户,使其可以代表您希望发送电子邮件的用户或组进行发送


您可以使用SMTP客户端提交或SMTP中继,请参阅。

如果您的电子邮件服务器需要密码进行身份验证,则无法绕过密码。如果您的帐户没有发送的权限,因为它不太可能工作。请注意:目前,我们使用创建新用户的唯一目的是从您的web应用程序发送邮件,并在您的应用程序中配置其凭据。但我如何实现这一点,然后配置该用户,使其可以代表您希望发送电子邮件的用户或组发送电子邮件。