stmp批量发送email包括图片和附件

应用场景:
女友工作因素,需要定期的与客户发送组织会议邀请,发送对象不同,内容基本相同,附件不同,每次发送时麻烦费事耽误时间,此工具的开发应用必然会深受女友的喜欢、大大减少其工作量。
设计:
Excel表对应,收件人对象信息,遍历该对象列表,组织邮件内容,选中附件列表,一键发送并展示发送结果。
运行环境:
邮件服务器:163.com stmp方式
步骤:
  1. 读取excel中收件人列表,转存到内存DataTable中
  2. 邮件正文采用html格式,可以发送图片,保存预定好的邮件格式
  3. 根据邀请函模板生成每个人的邀请函doc文件,转换格式为pdf文件
  4. 遍历DataTable收件人,添加附件发送邮件
  5. 个人邮箱设置,发送步骤、进度显示
程序代码:

        string excelFilePath= "";string wordExFilePath = "";string wordFilePath = "";string senderEmail = null;string senderPassword = null;string emailSubject = "";string emailBody = "";bool isHaveImg = false;private void Form1_Load(object sender, EventArgs e){}private System.Data.DataTable GetExcelData(){Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Sheets sheets;Microsoft.Office.Interop.Excel.Workbook workbook = null;object oMissiong = System.Reflection.Missing.Value;System.Data.DataTable dt = new System.Data.DataTable();try{if (app == null)return null;workbook = app.Workbooks.Open(excelFilePath, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong);//将数据读入到DataTable中——Start   sheets = workbook.Worksheets;Worksheet worksheet = (Worksheet)sheets.get_Item(1);//读取第一张表if (worksheet == null)return null;string cellContent;int iRowCount = worksheet.UsedRange.Rows.Count;int iColCount = worksheet.UsedRange.Columns.Count;Microsoft.Office.Interop.Excel.Range range;//负责列头StartDataColumn dc;int ColumnID = 1;range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1];while (range.Text.ToString().Trim() != ""){dc = new DataColumn();dc.DataType = System.Type.GetType("System.String");dc.ColumnName = range.Text.ToString().Trim();dt.Columns.Add(dc);range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, ++ColumnID];}for (int iRow = 2; iRow <= iRowCount; iRow++){DataRow dr = dt.NewRow();for (int iCol = 1; iCol <= iColCount; iCol++){range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[iRow, iCol];cellContent = (range.Value2 == null) ? "" : range.Text.ToString();dr[iCol - 1] = cellContent;}dt.Rows.Add(dr);}//将数据读入到DataTable中——Endreturn dt; }catch{return null;}finally{workbook.Close(false, oMissiong, oMissiong);System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);workbook = null;app.Workbooks.Close();app.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(app);app = null;}}private bool Convert(string sourcePath, string findName, string replaceName){bool result;object paramMissing = Type.Missing;Word.ApplicationClass wordApplication = new Word.ApplicationClass();Word.Document wordDocument = null;try{object paramSourceDocPath = sourcePath;string paramExportFilePath = System.Environment.CurrentDirectory + @"\" + replaceName + @"\附件_邀请函.pdf";if (!Directory.Exists(System.Environment.CurrentDirectory + @"\" + replaceName)){Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\" + replaceName);}Word.WdExportFormat paramExportFormat = Word.WdExportFormat.wdExportFormatPDF;bool paramOpenAfterExport = false;Word.WdExportOptimizeFor paramExportOptimizeFor =Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;int paramStartPage = 0;int paramEndPage = 0;Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentWithMarkup;bool paramIncludeDocProps = true;bool paramKeepIRM = true;Word.WdExportCreateBookmarks paramCreateBookmarks =Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;bool paramDocStructureTags = true;bool paramBitmapMissingFonts = false;bool paramUseISO19005_1 = false;wordDocument = wordApplication.Documents.Open(ref paramSourceDocPath, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing);if (wordDocument != null){#region 替换收件人object findtext = findName;object replacewith = replaceName;object replace= Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;wordApplication.Selection.Find.Execute(ref findtext, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing,ref replacewith, ref replace,ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing);wordDocument.Save();#endregion#region 导出pdfwordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat, paramOpenAfterExport,paramExportOptimizeFor, paramExportRange, paramStartPage,paramEndPage, paramExportItem, paramIncludeDocProps,paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,paramBitmapMissingFonts, paramUseISO19005_1,ref paramMissing);//导出pdf方法二//wordApplication.ActiveDocument.SaveAs2(ref Target, ref format,//  ref Unknown, ref Unknown, ref Unknown,//ref Unknown, ref Unknown, ref Unknown,//ref Unknown, ref Unknown, ref Unknown,//ref Unknown, ref Unknown, ref Unknown,//ref Unknown, ref Unknown, ref Unknown); #endregion}result = true;}catch (Exception ex){Console.WriteLine(ex.ToString());return false;}finally{if (wordDocument != null){wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);wordDocument = null;}if (wordApplication != null){wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);wordApplication = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}private string ReadDocument(string sourcePath){object paramMissing = Type.Missing;Word.ApplicationClass wordApplication = new Word.ApplicationClass();Word.Document wordDocument = null;try{object paramSourceDocPath = sourcePath;object encoding = System.Text.Encoding.UTF8;wordDocument = wordApplication.Documents.Open(ref paramSourceDocPath, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing);return (wordDocument != null && wordDocument.Content != null && wordDocument.Content.Text != null) ? wordDocument.Content.Text : "";}catch (Exception ex){Console.WriteLine(ex.ToString());return "";}finally{if (wordDocument != null){wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);wordDocument = null;}if (wordApplication != null){wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);wordApplication = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}}private string ReadModehtml(string sourcePath){string strhtmlContent = "";try{System.IO.StreamReader sr = new System.IO.StreamReader(sourcePath);strhtmlContent = sr.ReadToEnd();}catch (Exception ex){return "";}return strhtmlContent; }private bool SendEmail(string subject,string body,string receiveName,string receiveEmail){try{//SmtpClient下的一个对象,用以设置邮件的主题和内容System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();//发送端到接收端的邮箱地址myMail = new System.Net.Mail.MailMessage(senderEmail, receiveEmail);myMail.Subject = subject;myMail.Body = body =body.Replace("张三", receiveName);myMail.IsBodyHtml = true;myMail.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码if (!string.IsNullOrEmpty(receiveName)){//建立邮件附件类的一个对象,语法格式为System.Net.Mail.Attachment(文件名,文件格式)System.Net.Mail.Attachment myAttachment = new System.Net.Mail.Attachment(System.Environment.CurrentDirectory + @"\" + receiveName + @"\附件_邀请函.pdf", System.Net.Mime.MediaTypeNames.Application.Octet);//MIME协议下的一个对象,用以设置附件的创建时间,修改时间以及读取时间//System.Net.Mime.ContentDisposition disposition = myAttachment.ContentDisposition;//disposition.CreationDate = System.IO.File.GetCreationTime(file);//disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);//disposition.ReadDate = System.IO.File.GetLastAccessTime(file);//用smtpclient对象里attachments属性,添加上面设置好的myattachmentmyMail.Attachments.Add(myAttachment);}if (isHaveImg){AlternateView avHtml = AlternateView.CreateAlternateViewFromString(body, null, MediaTypeNames.Text.Html);LinkedResource pic1 = new LinkedResource("123.jpg", MediaTypeNames.Image.Jpeg);pic1.ContentId = "Pic1";avHtml.LinkedResources.Add(pic1);myMail.AlternateViews.Add(avHtml);}//建立发送对象client,验证邮件服务器,服务器端口,用户名,以及密码System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp.163.com", 25);client.Credentials = new System.Net.NetworkCredential(senderEmail, senderPassword);client.Timeout = 1000 * 60 * 2;//2分钟//client.UseDefaultCredentials = false;client.Send(myMail);return true;}catch (Exception ex){return false;}}private void button1_Click(object sender, EventArgs e){//选择excel文件OpenFileDialog openFile = new OpenFileDialog();openFile.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);openFile.Multiselect = false;if (openFile.ShowDialog() == DialogResult.Cancel)return;excelFilePath = openFile.FileName;string fileType = System.IO.Path.GetExtension(excelFilePath);if (string.IsNullOrEmpty(fileType))return;this.textBox1.Text = excelFilePath;}private void button2_Click(object sender, EventArgs e){OpenFileDialog openFile = new OpenFileDialog();openFile.Filter = "Word document(*.doc)|*.doc|Word document(*.docx)|*.docx";openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);openFile.Multiselect = false;if (openFile.ShowDialog() == DialogResult.Cancel)return;wordExFilePath = openFile.FileName;string fileType = System.IO.Path.GetExtension(wordExFilePath);if (string.IsNullOrEmpty(fileType))return;this.textBox2.Text = wordExFilePath;}private void button3_Click(object sender, EventArgs e){//测试用户密码是否正常,给自己发一封邮件if (string.IsNullOrEmpty(this.textBox3.Text) || string.IsNullOrEmpty(this.textBox4.Text)){MessageBox.Show("笨蛋,邮箱的账户和密码都是必填项!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}string strContentExFile = ReadDocument(wordExFilePath);string strContentFile = ReadModehtml(wordFilePath);if (string.IsNullOrEmpty(strContentExFile) || string.IsNullOrEmpty(strContentFile) || !strContentExFile.Contains("张三") || !strContentFile.Contains("张三")){MessageBox.Show("笨蛋,邮件正文和附件都是必选项,同时都必须以 [张三] 为模板!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (!strContentExFile.Contains("张三")){MessageBox.Show("笨蛋,邮件附件文件都必须以 [张三] 为模板!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (!strContentFile.Contains("张三")){MessageBox.Show("笨蛋,邮件正文文件都必须以 [张三] 为模板!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}senderEmail = this.textBox3.Text.Trim();senderPassword = this.textBox4.Text.Trim();this.button3.Enabled = false;if (SendEmail("测试邮件,不必理我", ReadModehtml(wordFilePath), "", senderEmail)){textBox5.Text =  "邮件测试成功!";button4.Enabled = true;button3.Enabled = false;textBox4.Text = "******";}else{textBox5.Text = "<@.@>邮件发送测试失败,确保账户信息、网络是否正常!";this.button3.Enabled = true;}}private void button4_Click(object sender, EventArgs e){if (string.IsNullOrEmpty(excelFilePath) || string.IsNullOrEmpty(wordExFilePath) || string.IsNullOrEmpty(wordFilePath)){MessageBox.Show("笨蛋,excel和word文件都得选择完备!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}textBox5.Text += System.Environment.NewLine + "excel中收件人信息读取中......";System.Data.DataTable dt = GetExcelData();if (dt == null || dt.Rows.Count == 0){MessageBox.Show("笨蛋,excel文件是不是格式什么有问题,不要随意修改模板!", "Matin大叔提醒你", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}button4.Enabled = false;textBox5.Text += System.Environment.NewLine + "excel中收件人信息读取完成!收件人合计人数 " + dt.Rows.Count;textBox5.Text += System.Environment.NewLine + "word邀请函模板读取完成!";textBox5.Text += System.Environment.NewLine + "word邀请函按照收件人副本制作中......";string findTextName = "张三";List<string> listFailedName = new List<string>();foreach (var DataRow in dt.Rows){DataRow row = DataRow as DataRow;string sName = row["姓名"].ToString();string sEmail = row["邮箱"].ToString();if (Convert(wordExFilePath, findTextName, sName)){textBox5.Text += System.Environment.NewLine + string.Format("pdf附件邀请函 [{0}] 已生成成功!", sName);findTextName = sName;}else{textBox5.Text += System.Environment.NewLine + string.Format("<@.@>pdf附件邀请函 [{0}] 生成失败,不过,没关系等最后结束后重试!", sName);listFailedName.Add(sName);}}if (listFailedName != null && listFailedName.Count > 0){foreach (var item in listFailedName){LogHelper.CreateLog(string.Format("pdf附件邀请函 [{0}] 生成失败,不过,没关系等最后结束后重试!", item));}}textBox5.Text += System.Environment.NewLine + string.Format("pdf附件邀请函生成已结束!");textBox5.Text += System.Environment.NewLine + string.Format("邮件开始发送中......");List<string> listsendFailedName = null;listsendFailedName = new List<string>();foreach (var DataRow in dt.Rows){DataRow row = DataRow as DataRow;string sName = row["姓名"].ToString();string sEmail = row["邮箱"].ToString();if (listFailedName != null && listFailedName.Count > 0 && listFailedName.Contains(sName)) ;else{string docContent = ReadModehtml(wordFilePath);if (!string.IsNullOrEmpty(docContent)){emailSubject = "测试测试主题";emailBody = docContent;}if (SendEmail(emailSubject, emailBody, sName, sEmail)){textBox5.Text += System.Environment.NewLine + string.Format("邮件 [{0}] 发送成功!", sName);}else{textBox5.Text += System.Environment.NewLine + string.Format("<@.@>邮件 [{0}] 发送失败了,不过,没关系等最后结束后重试!", sName);listsendFailedName.Add(sName);}}}if (listsendFailedName != null && listsendFailedName.Count > 0){foreach (var item in listsendFailedName){LogHelper.CreateLog(string.Format("邮件 [{0}] 发送失败了,不过,没关系等最后结束后重试!", item));}}textBox5.Text += System.Environment.NewLine + string.Format("邮件发送已结束!");if ((listFailedName != null && listFailedName.Count > 0) || (listsendFailedName!=null && listsendFailedName.Count>0))textBox5.Text += System.Environment.NewLine + string.Format("<@.@>邮件发送过程中出现异常,查看异常日志联系Martin大叔");listFailedName = null;listsendFailedName = null;}private void button5_Click(object sender, EventArgs e){OpenFileDialog openFile = new OpenFileDialog();openFile.Filter = "Html(*.html)|*.html|Htm(*.htm)|*.htm";openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);openFile.Multiselect = false;if (openFile.ShowDialog() == DialogResult.Cancel)return;wordFilePath = openFile.FileName;string fileType = System.IO.Path.GetExtension(wordFilePath);if (string.IsNullOrEmpty(fileType))return;this.textBox6.Text = wordFilePath;}private void radioButton2_CheckedChanged(object sender, EventArgs e){if (radioButton2.Checked)isHaveImg = label5.Visible = true;elseisHaveImg = label5.Visible = false;}

参考资料:
http://www.cnblogs.com/Joetao/articles/2933941.html
http://q.cnblogs.com/q/32301/
https://social.msdn.microsoft.com/Forums/office/en-US/b81ff74a-9c22-403c-b62c-5e1aba5106bd/microsoftofficeinteropwordapplicationdocumentsopen-issue-with-filename?forum=worddev
http://www.cnblogs.com/cfcool/archive/2010/02/05/1664145.html
http://bbs.csdn.net/topics/100094640
http://blog.csdn.net/kkkkkxiaofei/article/details/7941239
http://blog.csdn.net/tolearner/article/details/6102023
http://www.jb51.net/article/63486.htm
http://www.jb51.net/article/55465.htm
程序下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51949.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#发送邮件,包含发送附件

/// <summary> /// 发送邮件 /// </summary> /// <param name"sendEmail">收件人邮箱</param> /// <param name"fromEmail">发件人邮箱</param> /// <param name"fromName">发件人名称</param>…

邮件发送(带附件,)

1、拼装表格 //拼装表格startStringBuilder content new StringBuilder("<html><head></head><body><h2>【运管平收台预警提醒】&#xff1a;"DateUtil.format(new Date(),"yyyy年MM月dd日")"当前已交收资金&#xff…

发送邮件,加附件

需要参考3篇文章 第一篇&#xff0c;这个是基本代码 转载自&#xff1a;http://dove19900520.iteye.com/blog/2005303 运行后出现下面异常 异常&#xff1a;Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 第二…

邮件发送程序(添加附件发送)

目标&#xff1a;实现一个基于Web的可以发送附件的邮件程序。&#xff08;涉及的知识点&#xff1a;文件上传邮件发送&#xff09; 知识点引入&#xff1a; 文件上传&#xff1a;开发的Web应用是基于HTTP协议的&#xff0c;工作在Request/Response模式下。在这种模式下&#…

邮件发送功能-带附件

JAVA邮件发送的大致过程是这样的的&#xff1a; 1、构建一个properties文件&#xff0c;该文件中存放SMTP服务器地址等参数。 2、通过构建的properties文件和javax.mail.Authenticator具体类来创建一个javax.mail.Session。Session的创建&#xff0c;就相当于登录邮箱一样。剩下…

Edge浏览器打不开任何网页!!!

错误代码: STATUS_INVALID_IMAGE_HASH 1、电脑搜索注册表 win键&#xff0c;然后输入“注册表” 2、增加项 找到路径&#xff1a;“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge” 没有Edge的&#xff0c;直接在Microsoft下新建一个Edge文件夹 在Edge下&#…

未安装360系列应用情况下,Edge浏览器主页被360篡改,一直显示360导航

文章目录 修改浏览器设置系统扫描修复 修改浏览器设置 进入Edge浏览器进行以下操作&#xff1a; 右上角...图标&#xff0c;找到【设置】菜单&#xff0c;进入浏览器设置&#xff1b;左边菜单栏&#xff0c;找到【开始、主页和新建标签页】选项&#xff0c;进行操作&#xff…

vscode Live Server插件无法启动edge浏览器

平台 系统&#xff1a;mac os 10.14.6 默认浏览器 mircosoft edge vscode 相关参数 Version: 1.68.0 (Universal) Commit: 4af164ea3a06f701fe3e89a2bcbb421d2026b68f Date: 2022-06-08T11:44:00.250Z (1 mo ago) Electron: 17.4.7 Chromium: 98.0.4758.141 Node.js: …

Microsoft Edge 浏览器如何打开Axure RP文件

1.安装Microsoft Edge 浏览器 2.右上角如图点击进入扩展页面&#xff0c;搜索“Axure RP”-获取-安装 3.再次打开“扩展”查看已扩展的程序&#xff0c;启用&#xff0c;并点击“详细信息” 4.勾选“允许访问文件url” 5.选中本地文件夹中的index.html文件-选择打开方式&#…

edge浏览器ie模式设置方法介绍

1、打开edge浏览器&#xff0c;点击右上角的三个点&#xff0c;进入设置 2、选择默认浏览器 3、开启允许在internet explorer模式下重新加载网站 4、重启浏览器后&#xff0c;点击edge浏览器右上角的三个点&#xff0c;在更多工具中&#xff0c;可选择在internet explorer模式下…

Microsoft Edge浏览器只能在地址栏输入地址进入,不能进行搜索

Micrisoft Edge不能用搜索栏搜索 问题解决 问题 Microsoft Edge浏览器只能在web栏搜索网站&#xff0c;而不能用搜索栏搜索。 而且有一个很奇怪的现象&#xff0c;当我在搜索栏中搜索的时候&#xff0c;搜索内容自动填充进了web栏中&#xff0c;而搜索栏没有任何东西&#xff…

Edge 安装 CSDN 浏览器助手

################################################## 目录 Edge 安装 CSDN 浏览器助手 为什么一定要用谷歌或者微软浏览器&#xff1f; 获取 CSDN 浏览器助手插件包 手动 Edge 浏览器安装 CSDN 助手插件 ################################################## Edge 安装 …

浏览器发器POST请求

浏览器按F12或打开开发者工具&#xff0c;在console(控制台)标签页下输入 fetch(new Request(http://localhost:8080/power/font/getToken,{method:POST, headers: {Content-Type: application/x-www-form-urlencoded},body:"userName000&password123456" })).t…

新版Windows Edge浏览器关闭浏览器后出现自动重启问题

把启动增强和关闭Microsoft Edge后继续运行后台应用&#xff0c; 这两个开关关闭

【Edge】解决Edge游览器龟速下载问题

Edge游览器输入 edge://flags/#enable-parallel-downloadings 第一项Default改为改为Enabled 重启游览器即可

联想小新Win11系统如何将新建标签页设置为Edge浏览器首页

首先我们先打开Edge浏览器&#xff0c;点击右上角 选择 设置 然后选择 开始、主页和新建标签页 在 Microsoft Edge启动时 选择 打开新建标签页 这是我们再打开 Microsoft Edge浏览器&#xff0c;但是界面依然没有改变&#xff0c;这如何修改呢&#xff1f; 打开联想小…

Edge浏览器被306导航页面劫持篡改

Edge浏览器被360页面劫持 一、解决方案 1、右键edge浏览器图标----》属性 2、查看属性–》快捷方式 可以看到目标里后面跟随了一个网址。 http://511zdqdkj.yc.anhuang.net/ 我们将这个网址粘贴到浏览器里&#xff0c;可以看到打开的就是360主页。 3、删除后面的网址 4、…

edge和google浏览器打不开!记录一个解决方法!

2023年5月28日早上 使用小黑盒加速器加速EPIC后&#xff0c;edge和谷歌的浏览器就打不开了&#xff0c;国内的浏览器能打开&#xff1a;如小智浏览器。 网络上的解决方法没有用 这是我找到的解决链接&#xff1a;Bing搜索没法用的解决办法&#xff08;附Google和edge的详细解…

通过改变浏览器Cookie切换当前网站马甲

浏览器可以随时保存Cookie&#xff0c;以及随时更换Cookie&#xff1b;通过切换Cookie就可以切换当前登录用户。下面详细详细说明浏览器中Cookie应用步骤&#xff1a; 一、登录第一个测试用户 1、打开浏览器&#xff0c;打开论坛输入用户apple的帐号密码和验证码&#xff0c;注…

2022-强烈推荐的7款浏览器插件

目录 1.Tampermonkey 2.ADGUARD拦截广告插件 3.csdn插件 4.globalSpeed 5.IDM ​6.wappalyzer 7.Hackbar 1.Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器&#xff0c;它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。 这是我安装的油…