[英]How do i send email to outlook 2010 in c#?
Is it possible to send email with outlook despite my server doesnt install outlook 2010 and its within the intranet zone? 尽管我的服务器没有安装Outlook 2010及其在Intranet区域内,是否可以发送带Outlook的电子邮件? Because everyone here communicate with outlook and had a unique outlook account.
因为这里的每个人都与outlook沟通,并拥有独特的Outlook帐户。 How can i send email from my application?
如何从我的应用程序发送电子邮件? I am pretty sure i cannt use the following code to solve my problem, someone please help me.
我很确定我不能使用以下代码来解决我的问题,有人请帮助我。
code: 码:
// Create the Outlook application.
Outlook.Application oApp = new Outlook.Application();
// Create a new mail item.
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
// Set HTMLBody.
//add the body of the email
oMsg.HTMLBody = body;
//Add an attachment.
//String sDisplayName = "MyAttachment";
///int iPosition = (int)oMsg.Body.Length + 1;
//int iAttachType = (int)Outlook.OlAttachmentType.olByValue;
//now attached the file
//Outlook.Attachment oAttach = oMsg.Attachments.Add(@"C:\\fileName.jpg", iAttachType, iPosition, sDisplayName);
//Subject line
oMsg.Subject = subject;
// Add a recipient.
Outlook.Recipients oRecips = (Outlook.Recipients)oMsg.Recipients;
// Change the recipient in the next line if necessary.
Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add(address);
oRecip.Resolve();
// Send.
oMsg.Send();
// Clean up.
oRecip = null;
oRecips = null;
oMsg = null;
oApp = null;
This is an example snippet I used in a project of mine: 这是我在我的项目中使用的示例代码段:
using System.Net.Mail;
using System.Net;
private void SendMail( string targetMail,
string shownTargetName,
string[] attachmentNames) {
var fromAddress = new MailAddress("support@infinibrain.net", "MailSendingProgram");
var toAddress = new MailAddress(targetMail, shownTargetName);
const string fromPassword = "12345isAbadPassword";
subject = "Your Subject";
body =
@"
Here
you can put in any text
that will appear in the body
";
var smtp = new SmtpClient {
Host = "smtp.mailserver.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress) {
Subject = subject,
Body = body }
) {
foreach(string filePath in attachmentNames[]) {
Attachment attachMail = new Attachment(filePath);
message.Attachments.Add(attachMail);
}
try {
smtp.Send(message);
MessageBox.Show("E-Mail sent!");
} catch {
MessageBox.Show("Sending failed, check your internet connection!");
}
}
}
In this example I included everything required to use file attachments. 在此示例中,我包含了使用文件附件所需的所有内容。
If you want to send email you didn't need outlook you need email adres, for example 例如,如果您想发送不需要Outlook的电子邮件,则需要使用电子邮件地址
MailMessage mail = new MailMessage();
mail.From = ""; // put the from address here
mail.To = ""; // put to address here
mail.Subject = ""; // put subject here
mail.Body = ""; // put body of email here
SmtpMail.SmtpServer = ""; // put smtp server you will use here
// and then send the mail
SmtpMail.Send(mail);
and read this Send email 并阅读此发送电子邮件
EDIT 编辑
But if you want to use OUTLOOK try this 但是如果你想使用OUTLOOK试试这个
using Outlook = Microsoft.Office.Interop.Outlook;
Outlook.Application oApp = new Outlook.Application();
Outlook.MailItem email = (Outlook.MailItem)(oApp.CreateItem(Outlook.OlItemType.olMailItem));
email.Recipients.Add("EmailAddress@google.com");
email.Subject = "Subject";
email.Body = "Message";
((Outlook.MailItem)email).Send();
EDIT2 EDIT2
Example of first code 第一个代码示例
System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();
mm.From = new System.Net.Mail.MailAddress("mymail@gmail.com");//who send
mm.To.Add(new System.Net.Mail.MailAddress("Yourmail@gmail.com"));//where send
mm.Subject = "Subj";
mm.Body = "text";
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("127.0.0.1");
client.Send(mm);
in asp.net you can also send email through user's outlook using script manager: 在asp.net中,您还可以使用脚本管理器通过用户的Outlook发送电子邮件:
//add this to your page body (or in master page body)
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"/>
//add this to your SendEmailButton_Click() event
string email = "mailto:recipient@domain.com?subject=my subject&body=my message.";
StringBuilder sb = new StringBuilder();
sb.Append("document.location.href='" + email + "';");
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "sendemail", sb.ToString(), true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.