需要在没有内部邮件ID的情况下将邮件发送到外部邮件ID

时间:2012-10-05 07:20:56

标签: c# email

我面临着非常混乱的问题。

在我的网站上,所有用户都有自己的邮箱,当他们登录时可以看到它们。

我还没有分配任何ID,如123@gmail.com或其他任何内容。

他们只能通过他们的名字向对方发送邮件。

当他们向不同用户发送邮件时,会在personid的帮助下将其保存为数据库中的数据行。

现在我希望如果用户向另一个用户发送邮件,它还应该自动向接收者的外部邮件ID发送通知邮件。

我找到了像

这样的相关代码
MailMessage mail = new MailMessage();
                    mail.To.Add("hiral@yahoo.com");
                    mail.From = new MailAddress("hiral@gmail.com");
                    mail.Subject = "Send Email by asp.net code using google or gmail smtp server";
                    string Body = "Hi, I am testing Email function in asp.net";
                    mail.Body = Body;

                    SmtpClient smtp = new SmtpClient("localhost", 25);
                    smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address  
                    smtp.Credentials = new System.Net.NetworkCredential
                         ("hiral@gmail.com", "xxxxxxxxxxxxxx");
                    //Or your Smtp Email ID and Password  
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.EnableSsl = true;
                    smtp.Send(mail);
                    lblsuccess.Visible = true; 

现在对我来说很完美..

现在我需要更改

中的发送字段
mail.From = new MailAddress("hiral@gmail.com");

因为它可以是没有任何电子邮件ID的任何用户。

我能为此做些什么..?

2 个答案:

答案 0 :(得分:0)

我会让用户在注册时存储个人电子邮件地址。

然后,当您希望通知他们时,您可以稍后使用该电子邮件地址。

然后,您可以根据存储在表格行中的人员来检索此电子邮件地址。

答案 1 :(得分:0)

通过personid从数据库中检索人/发件人信息,然后将其放在变量列表中。

private class senderInformation{

 private string lastname;
 private string firstname;
 private string email;

}

senderInformation person = new senderInformation();

person.lastname = "Smith";
person.firstname = "John";
person.email= "john@gmail.com";

mail.From = new MailAddress(person.email.toString());