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