我对如何使用它没有足够的想法。
目标:
1)在dll中嵌入HTML文件
html的内容为:
您收到此电子邮件是因为已使用此电子邮件地址请求密码检索。 请转到以下链接开始此过程:
点击下面的链接
BASEURL {}
如果您没有提出此类请求,请忽略此电子邮件。
最佳, 网络大师
2)每次我发送此电子邮件时,我都必须找到并将“ BaseUrl {} ”替换为嵌入式html中的验证链接。
3)我必须以html文件的形式发送文件,因为在进一步开发中,我将不得不将图像放入文件中。
发送电子邮件的代码:
using System.Net.Mail;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
public static void SendEmail(MailMessage mail)
{
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 123;
client.Credentials = new System.Net.NetworkCredential("username@mail.com", "strongpassword");
client.EnableSsl = true;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
client.Send(mail);
}
private static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
else
{
ServiceFault.WriteLog("Invalid SSL");
return true;
}
}
或者你可以给我链接教程,或者如果你有更好的建议,请告诉我 谢谢!
答案 0 :(得分:4)
我认为对URI使用字符串替换的策略很好。
为了将其嵌入到您的DLL中:
1)创建包含所需内容的文件。
2)将一个Resources文件添加到您的项目中
3)添加“文件”类型资源(“添加现有文件”选项)并选择您的文件(将文件复制到项目中。
4)在您的代码中,使用自动生成资源访问器访问该嵌入文件的内容。
答案 1 :(得分:1)
要将文件嵌入到DLL中(我假设您使用的是Visual Studio),请在“解决方案资源管理器”选项卡中右键单击项目或文件夹,然后转到Add->Existing Item...
并然后将您的文件添加到解决方案中。从那里,右键单击该文件,然后单击“属性”。从那里,为“Build Action”属性选择“Embedded Resource”
从那里,您可以将文件作为字符串读取。
我会将“BaseUrl {}”更改为{0}
,如果您以字符串形式阅读该文件,请使用此代码进行替换:
string email = string.Format(emailText, baseUrl);
从那里你可以添加email
字符串作为你的信息,一切都很好!
看起来它应该有效!