I den här enkla handledningen kommer vi att lära oss hur du skicker Word Document via e-post med C#. I följande exempel kommer du att se hur enkelt det är att skicka Word-dokument i e-posttext med C#. Du kan använda exemplet i alla vanliga operativsystem som Linux, macOS eller Windows.
Steg för att skicka Word-dokument via e-post med C#
- Installera biblioteken Aspose.Words och Aspose.Email från NuGet-pakethanteraren i Visual Studio.
- Initiera Document klassobjekt för att ladda dokumentet som ska skickas som e-post
- Spara dokumentet som ström till ett mellanliggande MHTML-format
- Instantiera klassinstansen MailMessage för att ladda MHTML som MailMessage och ställa in dess egenskaper
- Instantiera SMTP-klient och skicka Word-dokumentet som e-post med C#
I stegen ovan kommer vi att ladda Word-dokumentet för att skicka som e-post i första steget. Sedan sparar vi det laddade dokumentet i en ström i mellanformatet MHTML. I efterföljande steg kommer vi att ladda MHTML med MailMessage class och ställa in dess e-postegenskaper. Slutligen kommer en instans av klientklassen SMTP att instansieras för att skapa e-post från DOCX i C#.
Kod för att skicka Word-dokument via e-post med C#
using System; | |
using System.IO; | |
using Aspose.Email; | |
using Aspose.Email.Clients; | |
using Aspose.Email.Clients.Smtp; | |
using Aspose.Words; | |
namespace WordKB | |
{ | |
class WordsEmail | |
{ | |
static void Main(string[] args) | |
{ | |
// Use Aspose.Words and Aspose.Email licenses to remove evaluation version limitations | |
Aspose.Words.License LicenseForWord = new Aspose.Words.License(); | |
LicenseForWord.SetLicense("Aspose.Total.API.lic"); | |
Aspose.Email.License LicenseForEmail = new Aspose.Email.License(); | |
LicenseForEmail.SetLicense("Aspose.Total.API.lic"); | |
// Load the document for sending as email using Document class | |
Document EmaiDocument = new Document("EmailDocument.docx"); | |
// Convert the document to MHTML format by using memory stream | |
Stream EmailStream = new MemoryStream(); | |
EmaiDocument.Save(EmailStream, SaveFormat.Mhtml); | |
// Now, reset the EmailStream position to the beginning | |
EmailStream.Position = 0; | |
// Create an Aspose.Email message from the saved stream | |
Aspose.Email.MailMessage EmailMessage = | |
Aspose.Email.MailMessage.Load(EmailStream, new MhtmlLoadOptions()); | |
// Set properties of email to send | |
EmailMessage.From = "your_from_email@email.com"; | |
EmailMessage.To = "your_to_email@email.com"; | |
EmailMessage.Subject = "Test Message using Aspose. Words and Aspose.Email APIs"; | |
// Initialize SMTP client and it's properties to send email | |
SmtpClient SMTPClient = new SmtpClient(); | |
SMTPClient.Host = "smtp.gmail.com"; | |
SMTPClient.Username = "YourEmail@gmail.com"; | |
SMTPClient.Password = "Your Gamil Password"; | |
SMTPClient.Port = 587; | |
SMTPClient.SecurityOptions = SecurityOptions.SSLExplicit; | |
// Send word email message | |
SMTPClient.Send(EmailMessage); | |
} | |
} | |
} |
I exemplet ovan har vi skicka Word-dokument i e-posttexten med hjälp av C# genom att använda tvåstegsmetod. I det första steget har vi laddat och sparat DOCX som en MHTML-fil i mellanformat med hjälp av strömmar. Sedan i andra steget har vi laddat MHTML in stream med MailMessage. Slutligen, genom att använda SMTP-klient, sänder vi dokument via e-post i C#.
I detta enkla ämne har vi utforskat hur man skapar e-post från DOCX med C#. Men om du letar efter konvertering av DOCX till MD-fil, se artikeln om hur man konverterar Word till Markdown med C#.