Asp.netのメールに画像を添付する必要があります。ファイルは既にソリューションエクスプローラーに追加されていますが、メールでこれを追加する方法がわかりません。
私の現在のコードは以下のとおりです
public void SendMail()
{
try
{
string receiverEmailId = "[email protected]";
string senderName = ConfigurationManager.AppSettings["From"].ToString();
string mailServer = ConfigurationManager.AppSettings["SMTPServer"].ToString(); ;
string senderEmailId = ConfigurationManager.AppSettings["SMTPUserName"].ToString();
string password = ConfigurationManager.AppSettings["SMTPPasssword"].ToString();
var fromAddress = new MailAddress(senderEmailId, senderName);
var toAddress = new MailAddress(receiverEmailId, "Alen");
string subject = "subject";
string body = "body.";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, password)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
}
catch (Exception ex)
{
}
}
MailMessage.Attachments プロパティをチェックアウトしましたか(MSDNを参照)?
// create attachment and set media Type
// see http://msdn.Microsoft.com/de-de/library/system.net.mime.mediatypenames.application.aspx
Attachment data = new Attachment(
"PATH_TO_YOUR_FILE",
MediaTypeNames.Application.Octet);
// your path may look like Server.MapPath("~/file.ABC")
message.Attachments.Add(data);
Attachment
クラスのオブジェクトをファイル名で作成し、メッセージのAttachmentsプロパティに追加します
Attachment attachment = new Attachment("file.ext");
message.Attachments.Add(attachment);
public static bool SendMail(string strFrom, string strTo, string strSubject, string strMsg)
{
try
{
// Create the mail message
MailMessage objMailMsg = new MailMessage(strFrom, strTo);
objMailMsg.BodyEncoding = Encoding.UTF8;
objMailMsg.Subject = strSubject;
objMailMsg.Body = strMsg;
Attachment at = new Attachment(Server.MapPath("~/Uploaded/txt.doc"));
objMailMsg.Attachments.Add(at);
objMailMsg.Priority = MailPriority.High;
objMailMsg.IsBodyHtml = true;
//prepare to send mail via SMTP transport
SmtpClient objSMTPClient = new SmtpClient();
objSMTPClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
objSMTPClient.Send(objMailMsg);
return true;
}
catch (Exception ex)
{
throw ex;
}
}
ASP.Netの添付ファイル付きの電子メールを簡単なコーディングで送信します。この記事では、これを行う方法を示します
Index.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="_Default" Debug="true" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Careers</title>
</head>
<body>
<form id="form2" runat="server">
<div class="form-group">
<label for="exampleInputName">Name</label>
<asp:TextBox ID="txtName" runat="server" class="form-control" placeholder="Name"></asp:TextBox>
</div>
<div class="form-group">
<label for="exampleInputEmail">Email address</label>
<asp:TextBox ID="txtEmail" runat="server" class="form-control" placeholder="Enter Email"></asp:TextBox>
</div>
<div class="form-group">
<label for="txtcontact">Contact no</label>
<asp:TextBox ID="txtcontact" runat="server" class="form-control" placeholder="Contact no"></asp:TextBox>
</div>
<div class="form-group">
<label for="txtjobTitle">Job Title</label>
<asp:DropDownList ID="txtjobTitle" runat="server" class="form-control">
<asp:ListItem Text="Select" Value="0"></asp:ListItem>
<asp:ListItem Text="Social Media Experts" Value="1"></asp:ListItem>
<asp:ListItem Text="Business Developement Executives" Value="2"></asp:ListItem>
<asp:ListItem Text="Copywriters" Value="3"></asp:ListItem>
<asp:ListItem Text="Graphic Designers" Value="4"></asp:ListItem>
<asp:ListItem Text="Web Designers" Value="5"></asp:ListItem>
<asp:ListItem Text="Animation Designers" Value="6"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group">
<label for="txtjobExp">Experience</label>
<asp:DropDownList ID="txtjobExp" runat="server" class="form-control">
<asp:ListItem Text="Select" Value="0"></asp:ListItem>
<asp:ListItem Text="0-1" Value="1"></asp:ListItem>
<asp:ListItem Text="1-3" Value="2"></asp:ListItem>
<asp:ListItem Text="3-5" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group">
<label for="exampleInputFile">Upload Resume</label>
<asp:FileUpload ID="fileUploader" runat="server" />
</div>
<asp:Button ID="bttn_Send" Text="Submit" runat="server" OnClick="bttn_Send_Click" class="btn" />
</form>
</body>
</html>
Index.aspx.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void bttn_Send_Click(object sender, EventArgs e)
{
string from = “[email protected]”;
string textTo = “[email protected]”;
using (MailMessage mail = new MailMessage(from, textTo))
{
mail.Subject = “Careers – Surya R Praveen WordPress”;
mail.Body = string.Format(@”
Name: {0}
Email: {1}
Contact: {2}
Job: {3}
Experience: {4}
“, txtName.Text, txtEmail.Text, txtcontact.Text, txtjobTitle.SelectedItem.Text, txtjobExp.SelectedItem.Text);
if (fileUploader.HasFile)
{
string fileName = Path.GetFileName(fileUploader.PostedFile.FileName);
mail.Attachments.Add(new Attachment(fileUploader.PostedFile.InputStream, fileName));
}
mail.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = “mail.suryarpraveen-wordpress.com”;
smtp.EnableSsl = false;
NetworkCredential networkCredential = new NetworkCredential(from, “password@007”);
smtp.UseDefaultCredentials = true;
smtp.Credentials = networkCredential;
smtp.Port = 25;
smtp.Send(mail);
ClientScript.RegisterStartupScript(GetType(), “alert”, “alert(‘Message has been sent successfully.’);”, true);
}
}
}
https://suryarpraveen.wordpress.com/2017/08/22/how-to-send-email-with-attachment-in-asp-net/
ここにコードがあります...
public void MailSend(string strfrom, string strto, string strSubject, string strBody, string resumename, string sresumename)
{
try
{
MailMessage msg = new MailMessage(strfrom, strto);// strEmail);
msg.Bcc.Add("[email protected]");
msg.Body = strBody;
msg.Subject = strSubject;
msg.IsBodyHtml = true;
if (resumename.Length > 0)
{
Attachment att = new Attachment(Server.MapPath(VirtualPathUtility.ToAbsolute("~/User_Resume/" + resumename)));
msg.Attachments.Add(att);
}
if (sresumename.Length > 0)
{
Attachment att1 = new Attachment(Server.MapPath(VirtualPathUtility.ToAbsolute("~/User_Resume/" + sresumename)));
msg.Attachments.Add(att1);
}
System.Net.Mail.SmtpClient cli = new System.Net.Mail.SmtpClient("111.111.111.111",25);
cli.Credentials = new NetworkCredential("nnnnnnn", "yyyyyy");
cli.Send(msg);
msg.Dispose();
ScriptManager.RegisterStartupScript(this, this.GetType(), "message", "alert('Enquiery submitted sucessfully');", true);
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "message", "alert('"+ex.Message+"');", true);
}
}
protected void Send_Button_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add(new MailAddress("[email protected]"));
mail.Bcc.Add(new MailAddress("[email protected]"));
mail.Subject = "Testing E-mail By ASP.NET";
mail.Body = "This is only for Demo ";
if (FileUpload1.HasFile)
{
Attachment attach = new Attachment(FileUpload1.PostedFile.InputStream ,FileUpload1.PostedFile.FileName);
mail.Attachments.Add(attach);
}
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
System.Net.NetworkCredential credential = new System.Net.NetworkCredential();
credential.UserName = "[email protected]";
credential.Password = "123456789";
smtp.Credentials = credential;
smtp.EnableSsl = true;
smtp.Send(mail);
}