Maison php教程 PHP源码 smtp发送带附件的邮件代码分享_实用技巧

smtp发送带附件的邮件代码分享_实用技巧

May 25, 2016 pm 05:06 PM
smtp 发送

本文给大家分享一段smtp发送带附件邮件的代码,代码非常简洁易懂,有需要的小伙伴可以参考下。

该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好

代码如下:

    MailMessage mmsg = new MailMessage();
    mmsg.Subject = "邮件标题";
    mmsg.Body = "邮件内容";
    mmsg.To.Add("accept@qq.com");//接收邮箱
    byte[] bytes = System.Text.Encoding.Default.GetBytes
        (@"<table><tr><td width=150>1234567891234567
        </td><td width=80>12345678</td></tr></table>");
    MemoryStream ms = new MemoryStream(bytes);
    ContentType ct = new ContentType();
    //附件文件类型
    ct.MediaType = MediaTypeNames.Text.Html;
    //附件名称,可以是其它后缀名
    ct.Name = "附件名称" + DateTime.Now.ToString() + ".html";
    mmsg.Attachments.Add(new Attachment(ms, ct));
    //SMTP简单邮件协议
    System.Net.Mail.SmtpClient sc
        = new System.Net.Mail.SmtpClient();
    sc.Host = "127.0.0.1";//主机地址
    sc.Port = 25;//端口
    //发送邮箱账号和密码
    sc.Credentials =
        new System.Net.NetworkCredential("account", "password");
    //发送邮箱
    mmsg.From = new MailAddress("account@qq.com");
    sc.Send(mmsg);
    //释放流资源
    ms.Close();
    ms.Dispose();
Copier après la connexion

另附上一个.net使用smtp发送带附件邮件的实例

代码如下:

public static void sendEmail(string toAddress, string emailbody) 
{ 
var fromAddress = ConfigurationManager.AppSettings["EmailAddress"]; 
string fromPassword = ConfigurationManager.AppSettings["EmailPassword"].ToString(); 
const string subject = "Job Recommendation"; 
var smtp = new SmtpClient 
{ 
Host = ConfigurationManager.AppSettings["SmtpServer"].ToString(), 
Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]), 
EnableSsl = true, 
DeliveryMethod = SmtpDeliveryMethod.Network, 
UseDefaultCredentials = false, 
Credentials = new NetworkCredential(fromAddress, fromPassword) 
}; 
using (var message = new MailMessage(fromAddress, toAddress, subject, HttpUtility.HtmlEncode(emailbody))) 
{ 
smtp.Send(message); 
} 
} 
<add key="EmailAddress" value="**********@gmail.com"/>//Email Address 
<add key="EmailPassword" value="*********"/> //Emial PWD 
<add key="SmtpServer" value="smtp.gmail.com"/> 
<add key="SmtpPort" value="587"/> 
<--带附件版本-> 
var fromAddress = "allenyinj@gmail.com"; 
string fromPassword = "yj1989120"; 
const string subject = "CV"; 
var smtp = new SmtpClient 
{ 
Host = "smtp.gmail.com", 
Port = 587, 
EnableSsl = true, 
DeliveryMethod = SmtpDeliveryMethod.Network, 
UseDefaultCredentials = false, 
Credentials = new NetworkCredential(fromAddress, fromPassword) 
}; 
MailMessage email=new MailMessage(fromAddress, "allen.yin.jun@gmail.com"); 
email.Subject = "INLINE attachment TEST"; 
email.IsBodyHtml = true; 
string attachmentPath = "C:\\3.jpeg"; 
Attachment inline = new Attachment(attachmentPath); 
inline.ContentDisposition.Inline = true; 
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline; 
//inline.ContentId = "1"; 
//inline.ContentType.MediaType = "image/png"; 
inline.ContentType.Name = Path.GetFileName(attachmentPath); 
email.Attachments.Add(inline); 
email.Body = "test"; 
smtp.Send(email); 
email.Dispose(); 
//如果没有路径,用Stream 
Attachment letter = new Attachment(FileUploadLetter.FileContent, FileUploadLetter.PostedFile.ContentType); 
letter.ContentDisposition.Inline = true; 
letter.ContentDisposition.DispositionType = DispositionTypeNames.Inline; 
//inline.ContentId = "1"; 
letter.ContentType.MediaType = FileUploadLetter.PostedFile.ContentType; 
letter.ContentType.Name = Path.GetFileName(FileUploadLetter.PostedFile.FileName); 
letter.Name = Path.GetFileName(FileUploadLetter.PostedFile.FileName);
Copier après la connexion


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Conseils WhatsApp : comment envoyer des photos et des vidéos HD Conseils WhatsApp : comment envoyer des photos et des vidéos HD Sep 10, 2023 am 10:13 AM

Conseils WhatsApp : comment envoyer des photos et des vidéos HD

Comment envoyer des fichiers à d'autres sur TikTok ? Comment supprimer les fichiers que j'ai envoyés à d'autres ? Comment envoyer des fichiers à d'autres sur TikTok ? Comment supprimer les fichiers que j'ai envoyés à d'autres ? Mar 22, 2024 am 08:30 AM

Comment envoyer des fichiers à d'autres sur TikTok ? Comment supprimer les fichiers que j'ai envoyés à d'autres ?

Comment obtenir les données d'un formulaire HTML sous forme de texte et les envoyer à html2pdf ? Comment obtenir les données d'un formulaire HTML sous forme de texte et les envoyer à html2pdf ? Sep 06, 2023 pm 12:21 PM

Comment obtenir les données d'un formulaire HTML sous forme de texte et les envoyer à html2pdf ?

Comment utiliser les enregistrements avec le domicile, différents emplacements et des minuteries Comment utiliser les enregistrements avec le domicile, différents emplacements et des minuteries Mar 24, 2024 am 09:31 AM

Comment utiliser les enregistrements avec le domicile, différents emplacements et des minuteries

Une introduction approfondie aux fonctions d'analyse et d'envoi d'e-mails PHP : compétences d'analyse et d'envoi d'e-mails pour imap_open, imap_search, mail et autres fonctions Une introduction approfondie aux fonctions d'analyse et d'envoi d'e-mails PHP : compétences d'analyse et d'envoi d'e-mails pour imap_open, imap_search, mail et autres fonctions Nov 18, 2023 pm 12:23 PM

Une introduction approfondie aux fonctions d'analyse et d'envoi d'e-mails PHP : compétences d'analyse et d'envoi d'e-mails pour imap_open, imap_search, mail et autres fonctions

Comment désactiver la fonction de messagerie smtp en php Comment désactiver la fonction de messagerie smtp en php Mar 22, 2023 pm 03:22 PM

Comment désactiver la fonction de messagerie smtp en php

Guide d'utilisation de PHP Mail : tutoriel d'envoi d'e-mails simple et facile à comprendre Guide d'utilisation de PHP Mail : tutoriel d'envoi d'e-mails simple et facile à comprendre Mar 28, 2024 pm 12:12 PM

Guide d'utilisation de PHP Mail : tutoriel d'envoi d'e-mails simple et facile à comprendre

Comment utiliser PHP pour implémenter une communication par courrier électronique basée sur le protocole SMTP Comment utiliser PHP pour implémenter une communication par courrier électronique basée sur le protocole SMTP Jul 30, 2023 pm 04:45 PM

Comment utiliser PHP pour implémenter une communication par courrier électronique basée sur le protocole SMTP

See all articles