Я работаю на сайте, используя .net с c #. Мое требование - отправлять «динамические» изображения в виде вложений по электронной почте (используя sendgrid). Но, когда я это делаю, изменения применяются к изображению, но когда я получаю, вложение все еще показывает пустое (неизменное) изображение.
protected void Button1_Click(object sender, EventArgs e)
{
string totp1 = totp.Text;
Session["totp"] = totp1;
//lshowotp4valid.Text = Session["userotp"].ToString();
int a =Convert.ToInt32( Session["totp"]);
if (a.Equals(Session["randomNumber"]))
{
PrincipalContext AD = new PrincipalContext(ContextType.Domain, "...");
UserPrincipal u = new UserPrincipal(AD)
{
SamAccountName = Session["username"].ToString()
};
PrincipalSearcher search = new PrincipalSearcher(u);
UserPrincipal result = (UserPrincipal)search.FindOne();
result.SetPassword(".....");
System.Drawing.Image bitmap = (System.Drawing.Image)Bitmap.FromFile(Server.MapPath("/images/blank2.JPG")); // set image
//draw the image object using a Graphics object
Graphics graphicsImage = Graphics.FromImage(bitmap);
//Set the alignment based on the coordinates
StringFormat stringformat = new StringFormat();
stringformat.Alignment = StringAlignment.Far;
stringformat.LineAlignment = StringAlignment.Far;
StringFormat stringformat2 = new StringFormat();
stringformat2.Alignment = StringAlignment.Center;
stringformat2.LineAlignment = StringAlignment.Center;
//Set the font color/format/size etc..
Color StringColor = System.Drawing.ColorTranslator.FromHtml("#933eea");//direct color adding
Color StringColor2 = System.Drawing.ColorTranslator.FromHtml("#e80c88");//customise color adding
string Str_TextOnImage = Session["randomnumber"].ToString();//Your Text On Image
string Str_TextOnImage2 = " ";//Your Text On Image
graphicsImage.DrawString(Str_TextOnImage, new Font("arial", 40,
FontStyle.Regular), new SolidBrush(StringColor), new Point(268, 245),
stringformat); Response.ContentType = "image/jpeg";
graphicsImage.DrawString(Str_TextOnImage2, new Font("Edwardian Script ITC", 111,
FontStyle.Bold), new SolidBrush(StringColor2), new Point(145, 255),
stringformat2); Response.ContentType = "image/jpeg";
bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
string otp = Session["randomnumber"].ToString();
string username = Session["username"].ToString();
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add(new MailAddress("bajajrishik@gmail.com", "Rishik Bajaj"));
mailMsg.From = new MailAddress("SSPR@automationteam.com", "SSPR");
mailMsg.Subject = "OTP" + otp;
string text = "otp" + otp;
string html = @"<span><br>Hi," + username + otp;
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("C:/Users/Bajajri/source/repos/WebSite1/WebSite1/images/blank2.JPG");
mailMsg.Attachments.Add(attachment);
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(
text, null, MediaTypeNames.Text.Plain));
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(
html, null, MediaTypeNames.Text.Html));
SmtpClient client = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(
"azure...@azure.com", ".....");
client.Credentials = credentials;
client.Send(mailMsg);
Label2.Text = "Password changed";
}