HTML怎么发送邮件到QQ邮箱

急求 各位大神 帮忙解决 :HTML怎么发送邮件到QQ邮箱

8个回答

在Html中可以使用Ajax来发送

不建议将这种放在HTML里面,HTML是静态的,只能展示什么的。。一般都 是获取到邮件信息后,从后台的代码中发出。。比如ASP.net这种

再送1个asp.net发送email的例子 http://blog.csdn.net/chinacsharper/article/details/9750303

html form的action设置为mailto:收件人地址,提交后会自动调用默认客户端软件

http://blog.sina.com.cn/s/blog_5f0e13360100d2zs.html

https://support.microsoft.com/en-us/kb/279460/zh-tw

一般都是前端发送数据到服务器再通过服务器发送,前提是您设置的发送邮件的邮箱开通了pop/stmp端口应该是25
现在有一个是叫phpmail的东西可以实现简单配置就好了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# 使用SmtpClient给QQ邮箱发送HTML邮件时,无法直接显示图片
使用以下代码发送包含图片的邮件时 , QQ邮箱无法直接显示, 而提示 这不是腾讯公司的官方邮件。为了保护邮箱安全,内容中的图片未被显示。如何识别腾讯系统邮件 显示图片 信任此发件人的图片 。 需点击“显示图片” 才能显示 EmailManager emailManager = new EmailManager(); Email email = new Email(); email.SenderAddress = "*******@163.com"; email.Subject = "test 主题"; email.IsbodyHtml = true; string pageHtml = "<img src='http://g.search.alicdn.com/img/bao/uploaded/i4/i2/16558028535799599/T1oaCoFf8aXXXXXXXX_!!0-item_pic.jpg_210x210.jpg'/>"; //邮件内容包含图片 email.Body = pageHtml; email.ToList.Add("*********@qq.com"); email.BodyEncoding = Encoding.UTF8; emailManager.login("smtp.gmail.com", 587, "******@gmail.com", "*******"); try { bool success = emailManager.sendEmail(email); } catch (Exception ex) { MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); //ViewBag.error = e.Message; }
javamail发送邮件,超链接无法访问
我用javamail发送html邮件给QQ邮箱,在html中我加入了<a>标签和连接。但是每次发送到那边,链接都无法点击是怎么回事?
java 用QQ邮箱发邮件问题
代码如下: ``` private static final String account = "xxx@qq.com"; private static final String password = "xxx"; private static final String host = "smtp.qq.com"; // private static final String account = "xxx@163.com"; // private static final String password = "xxx"; // private static final String host = "smtp.163.com"; public static void main(String[] args) { String content = "dfaferdfgfd"; Session session = getSession(); MimeMessage message = new MimeMessage(session); try { message.setSubject("找回您的帐户与密码"); message.setSentDate(new Date()); message.setFrom(new InternetAddress(account)); message.setRecipient(RecipientType.TO, new InternetAddress(to)); message.setContent(content,"text/html;charset=utf-8"); // 发送邮件 System.out.println("sendResetPasswordEmail:邮件发送-->"); Transport.send(message); } catch (Exception e) { e.printStackTrace(); } } public static Session getSession() { Security.getProviders(); Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", host); props.setProperty("mail.smtp.port", "25"); props.setProperty("mail.smtp.auth", "true"); // props.setProperty("mail.smtp.ssl.enable", "false"); // props.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); // props.setProperty("mail.smtp.port","465"); // props.setProperty("mail.smtp.socketFactory.port","465"); Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(account, password); } }); session.setDebug(true); return session; } ``` 使用163邮箱发送邮件正常,用QQ邮箱发送就报错了。报错如图,邮箱帐号密码是正确的 ![图片说明](https://img-ask.csdn.net/upload/201601/26/1453793343_110016.png)
phpmailer在线留言发送到指定邮箱
<?php include_once "class.phpmailer.php"; include_once "class.smtp.php"; //获取一个外部文件的内容 $mail=new PHPMailer(); $body="姓名:$_POST[name]<br/>电话:$_POST[tel]<br/>邮箱:$_POST[email]<br/>公司:$_POST[company]<br/>需求:$_POST[content];"; //设置smtp参数 $mail->IsSMTP(); $mail->SMTPAuth=true; $mail->SMTPKeepAlive=true; $mail->Host="smtp.163.com"; $mail->Port=25; //填写你的email账号和密码 $mail->Username="***@163.com"; $mail->Password="*****";#注意这里要填写授权码就是我在上面网易邮箱开启SMTP中提到的,不能填邮箱登录的密码哦。 //设置发送方,最好不要伪造地址 $mail->From="****@163.com"; $mail->FromName="***@163.com"; $mail->Subject="主题"; $mail->AltBody=$body; //$mail->WordWrap=50; // set word wrap $mail->MsgHTML($body); //设置回复地址 $mail->AddReplyTo("***@163.com","namell"); //添加附件,此处附件与脚本位于相同目录下否则填写完整路径 //附件的话我就注释掉了 #$mail->AddAttachment("attachment.jpg"); #$mail->AddAttachment("attachment.zip"); //设置邮件接收方的邮箱和姓名 $mail->AddAddress("***@qq.com","hello"); //使用HTML格式发送邮件 $mail->IsHTML(true); //通过Send方法发送邮件 //根据发送结果做相应处理 if(!$mail->Send()){ echo "Mailer Error:".$mail->ErrorInfo; }else{ echo "Message has been sent"; } ?> 本地测试是成功得的,上传服务器空间后就不行,出现请求超时问题。 请问如何解决?
jmail用QQ邮箱发送邮件失败,那里出了问题,请帮忙指正,谢谢
<% Subject =Request("Subject") who =Request("who") Company =Request("company") Address =Request("Address") mail =Request("mail") Telephone =Request("Telephone") Country =Request("Country") txt =Request("txt") userip =Request("userip") if who="" then response.write "<script language='javascript'>" & chr(13) response.write "alert('Sorry! You have no input Name!');" & Chr(13) response.write "history.go(-1);"&Chr(13) response.write "</script>" & Chr(13) Response.End end if userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR") Dim email,topic,mailbody email="aaa@aaa.com" ' topic=Subject &"" mailbody="Subject: "& Subject & "<br>Name:"& who & "<br>Company:"& company & "<br>Address:"& Address & "<br>E-mail:"& mail & "<br>Telephone:"& Telephone & "<br>Country:"& Country & "<br>Message:"& txt & "<br>userip:"& userip call Jmail(email,topic,mailbody) sub Jmail(email,topic,mailbody) Dim JMail,issend Set JMail=Server.CreateObject("JMail.Message") JMail.silent=true JMail.Logging=True JMail.Charset="gb2312" JMail.MailServerUserName = "bbb" JMail.MailServerPassword = "授权码" JMail.ContentType = "text/html" JMail.From="bbb@qq.com" JMail.FromName = who JMail.AddRecipient email JMail.Subject=topic JMail.Body=mailbody issend = JMail.Send ("smtp.qq.com") JMail.close Set JMail=nothing if issend = true then Response.Write "E-mail has been sent!" else Response.Write "E-mail failure" end if end sub %>
java代码0用163邮箱发送邮件时报这个错
com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,163 smtp14,EsCowEBZ50rSm3JWmXF+AA--.3541S2 1450351570 java代码: public class EmailTools { public static boolean send(String to,String subject,String content){ Properties props = new Properties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.host","smtp.163.com"); props.put("mail.from", "15234874536@163.com"); props.put("mail.smtp.anth", true); Session session = Session.getDefaultInstance(props); session.setDebug(true); try { Transport transport = session.getTransport(); // 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码 transport.connect("15234874536","*************"); MimeMessage message = new MimeMessage(session); message.setSubject(subject); message.setContent(content,"text/html;charset=utf-8"); message.setSentDate(new Date()); transport.sendMessage(message, InternetAddress.parse(to)); return true; } catch (NoSuchProviderException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public static void main(String[] args) { // TODO Auto-generated method stub EmailTools email = new EmailTools(); email.send("2747917518@qq.com","Hello World!", "你好你好你好你好你好"); } }
SSM框架发送邮件的问题!
最近做项目SSM框架需要用发送邮件,以前没写过发送邮件,谁有这方面的思路 或者例子不吝赐教,我的需求是从数据库找到该条数据,然后往该注册邮箱里面发送该条数据,下面是度娘出来的东西,不知道用啥,直接跑java application能直接运行 到你所指定的邮箱,我数据库的值能抓出来然后不知道怎么往里面放了,不知道怎么写了,求大神指教一二 package me.reg.util; import java.util.Date; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class MailUtil { public static String myEmailAccount = "test1@lb.com"; public static String myEmailPassword = "123456"; // 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com // 网易163邮箱的 SMTP 服务器地址为: smtp.163.com public static String myEmailSMTPHost = "127.0.0.1"; // 收件人邮箱(替换为自己知道的有效邮箱) public static String receiveMailAccount = "test2@lb.com"; public static void sendTo(String body, String receiveMailAccount) throws Exception { //只需要传入正文和目标地址即可 Properties props = new Properties(); // 参数配置 props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求) props.setProperty("mail.smtp.host", myEmailSMTPHost); // 发件人的邮箱的 SMTP // 服务器地址 props.setProperty("mail.smtp.auth", "true"); // 需要请求认证 // PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接, 也可以自己开启), // 如果无法连接邮件服务器, 仔细查看控制台打印的 log, 如果有有类似 “连接失败, 要求 SSL 安全连接” 等错误, // 打开下面 /* ... */ 之间的注释代码, 开启 SSL 安全连接。 /* * // SMTP 服务器的端口 (非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了 SSL 连接, // * 需要改为对应邮箱的 SMTP 服务器的端口, 具体可查看对应邮箱服务的帮助, // QQ邮箱的SMTP(SLL)端口为465或587, * 其他邮箱自行去查看) final String smtpPort = "465"; * props.setProperty("mail.smtp.port", smtpPort); * props.setProperty("mail.smtp.socketFactory.class", * "javax.net.ssl.SSLSocketFactory"); * props.setProperty("mail.smtp.socketFactory.fallback", "false"); * props.setProperty("mail.smtp.socketFactory.port", smtpPort); */ // 2. 根据配置创建会话对象, 用于和邮件服务器交互 Session session = Session.getDefaultInstance(props); session.setDebug(false); // 设置为debug模式, 可以查看详细的发送 log // 4. 根据 Session 获取邮件传输对象 Transport transport = session.getTransport(); // 3. 创建一封邮件 MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount, body); // 4. 根据 Session 获取邮件传输对象 transport = session.getTransport(); // 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错 // // PS_01: 成败的判断关键在此一句, 如果连接服务器失败, 都会在控制台输出相应失败原因的 log, // 仔细查看失败原因, 有些邮箱服务器会返回错误码或查看错误类型的链接, 根据给出的错误 // 类型到对应邮件服务器的帮助网站上查看具体失败原因。 // // PS_02: 连接失败的原因通常为以下几点, 仔细检查代码: // (1) 邮箱没有开启 SMTP 服务; // (2) 邮箱密码错误, 例如某些邮箱开启了独立密码; // (3) 邮箱服务器要求必须要使用 SSL 安全连接; // (4) 请求过于频繁或其他原因, 被邮件服务器拒绝服务; // (5) 如果以上几点都确定无误, 到邮件服务器网站查找帮助。 // // PS_03: 仔细看log, 认真看log, 看懂log, 错误原因都在log已说明。 transport.connect(myEmailAccount, myEmailPassword); // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() // 获取到的是在创建邮件对象时添加的所有收件人, // 抄送人, 密送人 transport.sendMessage(message, message.getAllRecipients()); // 7. 关闭连接 transport.close(); } public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail, String body) throws Exception { // 1. 创建一封邮件 MimeMessage message = new MimeMessage(session); // 2. From: 发件人 message.setFrom(new InternetAddress(sendMail, "LB", "UTF-8")); // 3. To: 收件人(可以增加多个收件人、抄送、密送) message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用户", "UTF-8")); // 4. Subject: 邮件主题 message.setSubject("激活您的帐号", "UTF-8"); // 5. Content: 邮件正文(可以使用html标签) message.setContent(body, "text/html;charset=UTF-8"); // 6. 设置发件时间 message.setSentDate(new Date()); // 7. 保存设置 message.saveChanges(); return message; } }
django 在生产环境下,不能发送错误报告邮件
我的架构是 Nginx+supervisord+gunicorn+django1.11 我在视图中手动抛出一个异常 ```python def mytestfn(request): a=3/0 print(a) return HttpResponse("it's ok") ``` 在本地环境下,当访问这个视图的时候会报错并发送邮件到邮箱提醒,但在生产环境下报502错误,但没有发送错误报告邮件。 我的邮箱发送配置: settings.py ```python ADMINS = MANAGERS = ( ('abc','xxxxxxxxxxx@qq.com'), ) EMAIL_HOST= 'smtp.qq.com'#QQ邮箱SMTP服务器(邮箱需要开通SMTP服务) EMAIL_PORT= 25 #QQ邮箱SMTP服务端口 EMAIL_HOST_USER = 'xxxxxxxxxx@qq.com' #我的邮箱帐号 EMAIL_HOST_PASSWORD = 'xxxxxxxxxx' #授权码 EMAIL_SUBJECT_PREFIX = 'website' #为邮件标题的前缀,默认是'[django]' DEFAULT_FROM_EMAIL = SERVER_EMAIL = EMAIL_HOST_USER LOGGING={ 'version':1, 'disable_existing_loggers':False, 'formatters':{ 'default':{ 'format':'%(levelname)s%(asctime)s%(module)s:' '%(funcName)s:%(lineno)d%(message)s' } }, 'handlers': { 'console':{ 'level':'INFO', 'class':'logging.StreamHandler', 'formatter':'default' }, 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/tmp/logs/project.log', 'maxBytes': 1024 * 1024, 'backupCount': 5 }, 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, }, }, 'loggers':{ '':{ 'handlers':['console'], 'level':'INFO', 'propagate':True }, 'django.request': { 'handlers': ['console', 'mail_admins'], 'propagate': True, 'level': 'ERROR', }, }, } ``` 在项目中的日志也记录下了这个错误 ![图片说明](https://img-ask.csdn.net/upload/201906/30/1561907102_482346.png) 想请教各位大神是个什么情况,为啥本地能正常发送错误报告但部署到生产环境就发送不了
asp.net注册成功发送邮件带激活码
1)注册成功发送邮件。 前台代码 <form id="form1" runat="server"> <div> <table id="TABLE1" runat="server" border="0" cellpadding="0" cellspacing="0"> <tr> <td style="width: 393px"> 收信:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> 主题:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> 内容:<asp:TextBox ID="TextBox3" runat="server" Height="154px" TextMode="MultiLine" Width="336px"></asp:TextBox> <br /> <asp:Button ID="Button1" runat="server" Text="提交" onclick="Button1_Click" /> <br /> </td> </tr> </table> </div> <table id="Table2" runat="server" border="0" cellpadding="0" cellspacing="0" visible="false"> <tr> <td align="center" style="width: 400px"> <asp:Label ID="Label1" runat="server" ForeColor="Red" Text="恭喜您,发表成功!"></asp:Label><br /> <br /> <asp:Button ID="Button2" runat="server" Text="返回" onclick="Button2_Click" /> </td> </tr> </table> </form> 后台代码 protected void Button1_Click(object sender, EventArgs e) { ////设置发件人信箱,及显示名字 , MailAddress from = new MailAddress("邮箱"); //设置收件人信箱,及显示名字 , "0503班" MailAddress to = new MailAddress(TextBox1.Text); //创建一个MailMessage对象 MailMessage oMail = new MailMessage(from, to); oMail.Subject = TextBox2.Text; //邮件标题 oMail.Body = TextBox3.Text; //邮件内容 oMail.IsBodyHtml = true; //指定邮件格式,支持HTML格式 oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//邮件采用的编码 oMail.Priority = MailPriority.High;//设置邮件的优先级为高 //发送邮件服务器 SmtpClient client = new SmtpClient(); client.Port = 25; client.Host = "stmp.163.com"; //指定邮件服务器 client.Credentials = new NetworkCredential("邮箱", "密码");//指定服务器邮件,及密码 //发送 try { client.Send(oMail); //发送邮件 Label1.Text = "恭喜你!邮件发送成功。"; } catch { Label1.Text = "邮件发送失败,检查网络及信箱是否可用。"; } oMail.Dispose(); //释放资源 TABLE1.Visible = false; Table2.Visible = true; } protected void Button2_Click(object sender, EventArgs e) { //返回,继续发送 Response.Redirect(Request.Url.ToString()); TABLE1.Visible = true; Table2.Visible = false; } 怎么也发送不成功。 2)像qq空间访问量左上角的数字怎么做出来
腾讯企业邮箱+php+jmail发信?
在用php+jmail时突然异想天开,于是便注册了一个腾讯企业邮箱,之后想用企业邮箱发信息的时候就出问题了 # 代码段 ``` <?php $jmail=new COM("JMail.Message")or die("无法调用Jmail组件"); //屏蔽例外错误,静默处理 $jmail->silent=false; //编码必须设置,否则中文会乱码 $jmail->charset='UTF-8';//可以试一下utf8或UTF8 //设置邮件格式为html格式 $jmail->ContentType ='text/html'; $jmail->From='*************';//非自定义邮箱账号 $jmail->FromName='*******'; //添加邮件接受者 $jmail->AddRecipient('*****************'); //邮件主题和正文信息 $jmail->Subject='PHP+Jmail测试邮件'; $jmail->Body='PHP+Jmail测试邮件正文'; //发信邮件账号和密码 $jmail->MailServerUserName='**********************'; $jmail->MailServerPassword='****************';//授权码 try { $retval=$jmail->Send('ssl://smtp.exmail.qq.com'); if($retval) { echo '发送成功'; } else { echo '发送失败'; } } catch(Exception $e) { echo $e->GetMessage(); } $jmail->Close(); ?> ``` 因为一直发不出去,于是我把静默处理改为了false,于是就变成这样了 Source: jmail.Message Description: The message was undeliverable. All servers failed to receive the message 是我的代码有问题么?如果有更优化的代码能分享一下吗?
java邮箱验证出错,可以帮我看看吗?
public static void main(String[]args){ //MailUtils.sendMail("853739173@shop.com", "111111"); MailUtils.sendMailIter("15113500327@163.com", "11111"); } /** * 发送邮件的方法 * * @param to * 目标邮箱 * @param code * 激活码 */ public static void sendMailIter(String to, String code) { /* * 1.获得一个session对象 2.创建一个代表邮件的对象Message 3.发送邮件Transport */ final String smtpHostName = "smtp." + to.split("@")[1]; //1.获得连接对象 System.out.println(smtpHostName); Properties properties = new Properties(); properties.setProperty("mail.smtp.host", smtpHostName); properties.setProperty("mail.smtp.auth", "true"); Session session = Session.getInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("q853739173@sina.com", "zxglovezz"); } }); //2.创建邮件对象 Message message=new MimeMessage(session); //设置发件人: try { message.setFrom(new InternetAddress("q853739173@sina.com")); //设置收件人 message.addRecipient(RecipientType.TO, new InternetAddress(to)); //抄送CC 密送BCC //设置标题 message.setSubject("shop官方激活邮件"); //设置邮件正文: //message.setContent("<h3>shop官方激活邮件!点下面链接完成激活操作!</h3><a href='http://192.168.16.215:8989/shop1/user_active.action?code="+code+"'>http://192.168.16.215:8989/shop1/user_active.action?code="+code+"</a>", "text/html;charset=UTF-8"); message.setContent("123456","text/html;charset=utf-8"); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } //3.发送邮件: try { Transport.send(message); } catch (MessagingException e) { e.printStackTrace(); } } 只有目标邮箱是新浪邮箱才可以接收到, 如果目标邮箱是163邮箱显示错误:535 Error: authentication failed 如果目标邮箱是qq邮箱显示错误:535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256 如果只能是新浪邮箱那这个程序不是弱爆了吗?求教,悬赏悬赏!!!
Java,163邮箱发送失败问题;com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smt
Java实现 邮箱发送,163邮箱在发送过程中出现间接性发送失败问题; 错误信息: **邮件发送失败!com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp5,D9GowADn0DpklIBclT7UBw--.45S2 1551930470,please see http://mail.163.com/help/help_spam_16.htm?ip=61.178.126.61&hostid=smtp5&time=1551930470**; 已尝试网上的解决办法(在发送邮件之前向自己抄送一份),邮箱设置中也设置了白名单(无效果); 下面是实现代码: ``` package com.dfec.obp.util; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class MailUtil { ``` private MimeMessage mimeMsg; // MIME邮件对象 private Session session; // 邮件会话对象 private Properties props; // 系统属性 private boolean needAuth = false; // smtp是否需要认证 // smtp认证用户名和密码 private String username; private String password; private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 /** * Constructor * * @param smtp * 邮件发送服务器 */ public MailUtil(String smtp){ setSmtpHost(smtp); createMimeMessage(); } /** * 设置邮件发送服务器 * * @param hostName * String */ public void setSmtpHost(String hostName) { // System.out.println("设置系统属性:mail.smtp.host = "+hostName); if(props == null) props = System.getProperties(); // 获得系统属性对象 props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.put("mail.smtp.host", hostName); // 设置SMTP主机 props.setProperty("mail.smtp.port", "465");//qq设置465///25 } /** * 创建MIME邮件对象 * * @return */ public boolean createMimeMessage() { try { // System.out.println("准备获取邮件会话对象!"); session = Session.getDefaultInstance(props, null); // 获得邮件会话对象 session.setDebug(true); } catch(Exception e){ System.err.println("获取邮件会话对象时发生错误!" + e); return false; } // System.out.println("准备创建MIME邮件对象!"); try { mimeMsg = new MimeMessage(session); // 创建MIME邮件对象 mp = new MimeMultipart(); return true; } catch(Exception e){ System.err.println("创建MIME邮件对象失败!" + e); return false; } } /** * 设置SMTP是否需要验证 * * @param need */ public void setNeedAuth(boolean need) { // System.out.println("设置smtp身份认证:mail.smtp.auth = "+need); if(props == null) props = System.getProperties(); if(need){ props.put("mail.smtp.auth","true"); }else{ props.put("mail.smtp.auth","false"); } } /** * 设置用户名和密码 * * @param name * @param pass */ public void setNamePass(String name,String pass) { username = name; password = pass; } /** * 设置邮件主题 * * @param mailSubject * @return */ public boolean setSubject(String mailSubject) { // System.out.println("设置邮件主题!"); try{ mimeMsg.setSubject(mailSubject); return true; } catch(Exception e) { System.err.println("设置邮件主题发生错误!"); return false; } } /** * 设置邮件正文 * * @param mailBody * String */ public boolean setBody(String mailBody) { try{ BodyPart bp = new MimeBodyPart(); bp.setContent(""+mailBody,"text/html;charset=GBK"); mp.addBodyPart(bp); return true; } catch(Exception e){ System.err.println("设置邮件正文时发生错误!" + e); return false; } } /** * 添加附件 * * @param filename * String */ public boolean addFileAffix(String filename) { // System.out.println("增加邮件附件:"+filename); try{ BodyPart bp = new MimeBodyPart(); FileDataSource fileds = new FileDataSource(filename); bp.setDataHandler(new DataHandler(fileds)); bp.setFileName(MimeUtility.encodeText(fileds.getName())); mp.addBodyPart(bp); return true; } catch(Exception e){ System.err.println("增加邮件附件:" + filename + "发生错误!" + e); return false; } } /** * 设置发信人 * * @param from * String */ public boolean setFrom(String from) { // System.out.println("设置发信人!"); try{ mimeMsg.setFrom(new InternetAddress(from)); // 设置发信人 return true; } catch(Exception e) { return false; } } /** * 设置收信人 * * 设置属性 * private Properties p; // p是属性集合类,用来设置邮件的一些属性比如timeout等 * p.put("userName","xxx@163.com"); //这里填上你的邮箱(发送方) * 构件MimeMessage 对象,并设置在发送给收信人之前给自己(发送方)抄送一份 * MimeMessage msg = mailSender.createMimeMessage(); * msg.addRecipients(MimeMessage.RecipientType.CC, InternetAddress.parse(p.getProperty("userName"))); * * @param to * String */ public boolean setTo(String[] to,String from){ if(to == null)return false; try{ mimeMsg.addRecipients(Message.RecipientType.CC,InternetAddress.parse(from));//给自己抄送一份 int mailSize = to.length; for(int i = 0; i < mailSize; i++){ InternetAddress toStr = new InternetAddress(to[i]); mimeMsg.addRecipients(Message.RecipientType.TO, InternetAddress.parse(toStr.toString())); } return true; } catch(Exception e) { return false; } } /** * 发送邮件 */ public boolean sendOut() { try{ mimeMsg.setContent(mp); mimeMsg.saveChanges(); // System.out.println("正在发送邮件...."); Session mailSession = Session.getInstance(props,null); Transport transport = mailSession.getTransport("smtp"); transport.connect((String)props.get("mail.smtp.host"),username,password); transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients()); //transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO)); System.out.println("发送邮件成功!"); transport.close(); return true; } catch(Exception e) { System.err.println("邮件发送失败!" + e); return false; } } /** * 调用sendOut方法完成邮件发送 * * @param smtp * @param from * @param to * @param subject * @param content * @param username * @param password * @return boolean */ public static boolean send(String smtp,String from,String[] to,String subject,String content,String username,String password) { MailUtil theMail = new MailUtil(smtp); theMail.setNeedAuth(true); // 需要验证 if(!theMail.setSubject(subject)) return false; if(!theMail.setBody(content)) return false; if(!theMail.setTo(to,from)) return false; if(!theMail.setFrom(from)) return false; theMail.setNamePass(username,password); if(!theMail.sendOut()) return false; return true; } /** * 调用sendOut方法完成邮件发送,带附件 * * @param smtp * @param from * @param to * @param subject * @param content * @param username * @param password * @param filename * 附件路径 * @return */ public static boolean send(String smtp,String from,String[] to,String subject,String content,String username,String password,String filename) { MailUtil theMail = new MailUtil(smtp); theMail.setNeedAuth(true); // 需要验证 if(!theMail.setSubject(subject)) return false; if(!theMail.setBody(content)) return false; if(!theMail.addFileAffix(filename)) return false; if(!theMail.setTo(to,from)) return false; if(!theMail.setFrom(from)) return false; theMail.setNamePass(username,password); if(!theMail.sendOut()) return false; return true; } }
python获取邮箱的内容后,怎么取到里面的验证码
# 连接到POP3服务器: server = poplib.POP3(pop3_server) # 可以打开或关闭调试信息: # server.set_debuglevel(1) # 可选:打印POP3服务器的欢迎文字: print(server.getwelcome().decode('utf-8')) # 身份认证: server.user(email) server.pass_(password) # stat()返回邮件数量和占用空间: print('Messages: %s. Size: %s' % server.stat()) # list()返回所有邮件的编号: resp, mails, octets = server.list() # 可以查看返回的列表类似[b'1 82923', b'2 2184', ...] # print(mails) # 获取最新一封邮件, 注意索引号从1开始: index = len(mails) resp, lines, octets = server.retr(index) # lines存储了邮件的原始文本的每一行, # 可以获得整个邮件的原始文本: msg_content = b'\r\n'.join(lines).decode('utf-8') # 稍后解析出邮件: msg = Parser().parsestr(msg_content) print_info(msg) ![图片说明](https://img-ask.csdn.net/upload/201912/05/1575552952_417417.png) 全部源码如下: # -*- coding: utf-8 -*- from email.parser import Parser from email.header import decode_header from email.utils import parseaddr import poplib import requests import json import re # 输入邮件地址, 口令和POP3服务器地址: email = "123456789@qq.com" password = "abcdefg" pop3_server = "pop.qq.com" # 文本邮件的内容也是str,还需要检测编码,否则,非UTF-8编码的邮件都无法正常显示 def guess_charset(msg): charset = msg.get_charset() if charset is None: content_type = msg.get('Content-Type', '').lower() pos = content_type.find('charset=') if pos >= 0: charset = content_type[pos + 8:].strip() return charset def decode_str(s): # decode_header()返回一个list 偷懒,只取了第一个元素 value, charset = decode_header(s)[0] if charset: value = value.decode(charset) return value def print_info(msg, indent=0): if indent == 0: for header in ['From', 'To', 'Subject']: value = msg.get(header, '') if value: if header=='Subject': value = decode_str(value) else: hdr, addr = parseaddr(value) name = decode_str(hdr) value = u'%s <%s>' % (name, addr) print('%s%s: %s' % (' ' * indent, header, value)) if (msg.is_multipart()): parts = msg.get_payload() for n, part in enumerate(parts): print('%spart %s' % (' ' * indent, n)) print('%s--------------------' % (' ' * indent)) print_info(part, indent + 1) else: content_type = msg.get_content_type() if content_type=='text/plain' or content_type=='text/html': content = msg.get_payload(decode=True) charset = guess_charset(msg) if charset: content = content.decode(charset) print('%sText: %s' % (' ' * indent, content + '...')) else: print('%sAttachment: %s' % (' ' * indent, content_type)) # 连接到POP3服务器: server = poplib.POP3(pop3_server) # 可以打开或关闭调试信息: # server.set_debuglevel(1) # 可选:打印POP3服务器的欢迎文字: print(server.getwelcome().decode('utf-8')) # 身份认证: server.user(email) server.pass_(password) # stat()返回邮件数量和占用空间: print('Messages: %s. Size: %s' % server.stat()) # list()返回所有邮件的编号: resp, mails, octets = server.list() # 可以查看返回的列表类似[b'1 82923', b'2 2184', ...] # print(mails) # 获取最新一封邮件, 注意索引号从1开始: index = len(mails) resp, lines, octets = server.retr(index) # lines存储了邮件的原始文本的每一行, # 可以获得整个邮件的原始文本: msg_content = b'\r\n'.join(lines).decode('utf-8')\ # 稍后解析出邮件: msg = Parser().parsestr(msg_content) print_info(msg)
javax.mail.AuthenticationFailedException: 异常
javax.mail.AuthenticationFailedException: 220 Ready to start TLS ,在windows上正常,部署到linux上异常 ``` String contest = "欢迎注册商城!"; // 发送邮件通知 // 创建Properties 类用于记录邮箱的一些属性 final Properties props = new Properties(); // 表示SMTP发送邮件,必须进行身份验证 props.put("mail.smtp.auth", "true"); //此处填写SMTP服务器 props.put("mail.smtp.host", "14.18.245.164"); //端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587 props.put("mail.smtp.port", "587"); // 此处填写你的账号 props.put("mail.user", "1111111111@qq.com"); // 此处的密码就是前面说的16位STMP口令 props.put("mail.password", "qdasdqwdasd"); // 构建授权信息,用于进行SMTP进行身份验证 Authenticator authenticator = new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { // 用户名、密码 String userName = props.getProperty("mail.user"); String password = props.getProperty("mail.password"); return new PasswordAuthentication(userName, password); } }; // 使用环境属性和授权信息,创建邮件会话 Session mailSession = Session.getInstance(props, authenticator); // 创建邮件消息 MimeMessage message = new MimeMessage(mailSession); // 设置发件人 InternetAddress form = new InternetAddress( props.getProperty("mail.user")); message.setFrom(form); // 设置收件人的邮箱 InternetAddress to = new InternetAddress(user.getEmail()); message.setRecipient(RecipientType.TO, to); // 设置邮件标题 message.setSubject("欢迎注册商城"); // 设置邮件的内容体 message.setContent(contest, "text/html;charset=UTF-8"); // 发送邮件 Transport.send(message); ```
求助大神 phpPHPMailer 邮箱发送失败原因?
``` ``` $mail = new \PHPMailer(); //实例化 $mail->IsSMTP(); $mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码 $mail->SMTPAuth = true; //开启认证 $mail->Port = 25; $mail->Host = "smtp.163.com"; $mail->Username = "luhaoand@163.com"; $mail->Password = "123456lh"; //$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示 $mail->AddReplyTo("luhaoand@163.com","mckee");//回复地址 $mail->From = "luhaoand@163.com"; $mail->FromName = "www.phpddt.com"; $to = "460604387@qq.com"; $mail->AddAddress($to); $mail->Subject = "phpmailer测试标题"; $mail->Body = "m</font>)对phpmailer的测试内容"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略 $mail->WordWrap = 80; // 设置每行字符串的长度 //$mail->AddAttachment("f:/test.png"); //可以添加附件 $mail->IsHTML(true); $mail->Send(); dump($mail); echo '邮件已发送'; ``` ``` 一直发送失败 ![图片说明](https://img-ask.csdn.net/upload/201703/28/1490691303_742421.png)
postfix 向外发邮件报错
使用postfix给163发邮件报错 ``` 23695120080 502 Wed Jan 16 10:34:42 admin@zhang0027.com (connect to 163mx02.mxmail.netease.com[220.181.14.148]:25: Connection timed out) 156****1085@163.com ``` 给qq邮箱发邮件 ``` D40CA1202EF 339 Tue Jan 15 16:31:33 admin@zhang0027.com (connect to mx1.qq.com[2001:df6:f400::2808]:25: Cannot assign requested address) 104****878@qq.com ``` 在内网中发邮件没有问题,不能发外网 配置是按照 https://www.cnblogs.com/Dicky-Zhang/p/6084852.html 配置的
收到表白邮件,但对方邮箱地址不存在,无法回复
这是邮件原文 Received: from smail25.cn4e.com (unknown [218.85.138.25]) by newmx38.qq.com (NewMx) with SMTP id for <799144857@qq.com>; Wed, 20 Mar 2019 20:43:35 +0800 X-QQ-FEAT: wHMHE0yn6Z/hwk5/73i41iuJ5+r8TrY10fIuhqVlWrqfCH0O1rZTWdmBHn4XU R9BGTsf3LRDvT8r+lmPpZ+A5i4/o7TPqVewBIuOLE/k8xenmUD7lIiRR8m6ybLxYToTm39s VrriObQ2U5BDGgmKI64wkvN6uspw5YXah/3fBPodrgSmXMVPAkIK9uXOpjhUxl1VCTdmIKj yVdlM4VaRD2f737JbrUAn7fL59xWx8jCsqUNe5ULyzhpOQKsDQYkody4TX9G9i25ShQjS1c 5TW6z4ZWWy+FA2PzUS00TstfkErVMavd/SSveqg9vOjQ0vgegqww8XJRmsdPdHVg4SlhvHm Aur+XEx X-QQ-MAILINFO: ObpyOLNbESSk1DBPVrWs9jIIAN6icERLyguvSDZo9F6hI335Bzw2/AlW2 cH6pNv8BqpB/WPmpTEriFFntm3eG29haV97z4cApriz0hMwAh1T4HZRN4U4dPnCotyunRbb b4ieQDdc+wjnW11WsMkW0r/eA/NUUGnxydwMOZa1rZRJNLeAic6KXQ0bc4cMHbfzMFVTlgK KUtJP7S3mdrVY4EA= X-QQ-mid: mx38t1553085815t961f7lz4 X-QQ-ORGSender: gusajhdjasjdas@fftgh.com X-Bordeaux-Score: 0 X-Spam-Flag: NO Received: from [127.0.0.1] by smail25.cn4e.com(7.3.0.15a) with ESMTP id 528A05F80005.14.1553085811.865164; Wed, 20 Mar 2019 20:43:31 +0800 (CST) X-BQId: 528A05F80005.14.1553085811.865164.1 X-Bordeaux-Type: MAILACCESS X-35BMId: 528A05F80005.14.1553085811.865164.1 X-Bordeaux-LOG: SA: TSMF, 3-0-0-0,3-0-0-0,3-0-0-0 eJzt2LFugkAYB3AXO9V3uLFdCAgXKjENLcFoFM/gDR1cTkApQS56mvAcPl+fpFO9lMGQaFwAE7/ fDd/yDf/hkv/l2q1/Ah8X59Mh06nrUKR1TUU9Ha0FHsnPDTtiw77TLlaCzIiUgG+QO/foDH3yXR ixQ27r+MVUdHl5MHutPDEAoG5PxSz3hzucEJTygKUxF/vG4oGG/N6wQ8aVxwAA3LHnYpb7w/sYT dDAJ57VXx8ES+IwYSIJmbBXq/06ls/N98ZCg8rJ/sii/OrLQVexatSUBwBwfzrFLPeH78woosTq m72eZhhv2LS3W2iNhyH7w3cs94te3iFjdGqYaJexFMmvrCXPa8sHAGjeH6p2Rwg= X-Bordeaux-Detail: eJxzsrIKjgwOcfW1sgIiRysrIwMDAyMrK2MrK4280pwcTS4nFBV+QCmgChMrKxN8KkxBKiywqXC GqzC1srKEqQAAN18i3A== X-Bordeaux-Action-libantispam.so: Action: Relay[NEXT,30505,0:0:0] X-Bordeaux-Action-libspamsa.so: X-Bordeaux-Action-libclamav.so: X-Bordeaux-Action-libsmtpext.so: X-AbuseCollector: NO Date: Wed, 20 Mar 2019 20:43:31 +0800 (CST) From: =?UTF-8?B?5LiA6K+6?= <gusajhdjasjdas@fftgh.com> To: 799144857 <799144857@qq.com> Message-ID: <5ad50a996988d83401699b20c98770a8@35MA.fftgh.com> Subject: =?UTF-8?B?5oOF5Lmm?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_13166_1227412828.1553085811074" X-RecallFlag: 5c923573a310ae8e9a829f6b X-Mailsessionid: 5c923573a310ae8e9a829f6b X-Priority: 3 ------=_Part_13166_1227412828.1553085811074 Content-Type: multipart/alternative; boundary="----=_Part_13167_399487114.1553085811074" ------=_Part_13167_399487114.1553085811074 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 5LiN55+l6YGT5LuO5LuA5LmI5pe25YCZ5byA5aeL77yM5oOz5Yiw5L2g5b+D6YeM5bCx5Y+Y5Y+R 5oWM77yM6YKj5LiA56eN5r+A5Yqo5LiN55+l6YGT5aaC5L2V5b2i5a6577yMICAKCiAgCuS9huW/ g+mHjOWNtOS4gOebtOacieS4quS9oO+8jOS7iuWkqeWcqOi/memHjOaIkem8k+i1t+WLh+awlOaK iueIseivtOS6huWHuuadpeW4jOacm+S9oOiDveaHgiDngrnlh7vnmbvlvZXmn6XnnIvlhajmlocg ICAgCgoKCg== ------=_Part_13167_399487114.1553085811074 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE0cHg7Ij7kuI3nn6XpgZPku47ku4Dk uYjml7blgJnlvIDlp4vvvIzmg7PliLDkvaDlv4Pph4zlsLHlj5jlj5HmhYzvvIzpgqPkuIDnp43m v4DliqjkuI3nn6XpgZPlpoLkvZXlvaLlrrnvvIw8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHls ZT0iZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJm b250LXNpemU6IDE0cHg7Ij7kvYblv4Pph4zljbTkuIDnm7TmnInkuKrkvaDvvIzku4rlpKnlnKjo v5nph4zmiJHpvJPotbfli4fmsJTmiorniLHor7Tkuoblh7rmnaXluIzmnJvkvaDog73mh4IgPGEg aHJlZj0iaHR0cDovLyBodHRwOi8veWRzbWRsZXcuY24vbWFpbCI+54K55Ye755m75b2V5p+l55yL 5YWo5paHPC9hPiAmbmJzcDs8L3NwYW4+PC9kaXY+PC9kaXY+PGJyPjxicj4= ------=_Part_13167_399487114.1553085811074-- ------=_Part_13166_1227412828.1553085811074--
linux搭建SMTP邮件服务器,部分邮件内容乱码
## 我在linux上搭建了一个SMTP邮件服务器,主要是ELK用来发送预警邮件; ## ## 邮件内容都是一些JAVA异常的堆栈信息; ## ## 然后有部分邮件内容会出现乱码,看着好像是编码之后没有解码的内容。 **如图:** ![图片说明](https://img-ask.csdn.net/upload/201903/29/1553853033_574675.png) ## 不知道是什么原因造成的,我之前用的是163邮件服务器发送的,然后接收邮件的是QQ邮箱;开始以为是两个邮箱不一样导致的,后面把163邮件服务器改成了QQ邮件服务;但是问题依然存在...... ## 以下是我搭建SMTP邮件服务器的步骤: ![图片说明](https://img-ask.csdn.net/upload/201903/29/1553853331_653908.png) ![图片说明](https://img-ask.csdn.net/upload/201903/29/1553853384_698719.png) ![图片说明](https://img-ask.csdn.net/upload/201903/29/1553853452_587498.png) ## 以下是ELK发送预警邮件的配置: ``` { "actions": { "email_html_alarm_7d6323ca-2835-4ffe-a78b-65acb93c2f55": { "name": "email html alarm", "throttle_period": "1m", "email_html": { "to": "to@qq.com", "from": "from@163.com", "stateless": false, "subject": "xxx异常预警检测到[开发环境]xxx日志中有{{payload.hits.total}}个异常信息", "priority": "high", "html": "<p>Hi {{watcher.username}},</p><br/><p>xxx异常预警发现{{payload.hits.total}}个异常信息,<a href=\"http://192.168.2.16:5601/app/kibana\" target=\"_blank\">点击</a>查看详情。</p><p>异常信息如下:</p>{{#payload.hits.hits}}<p>MessageInfo:<i style=\"color: grey\">{{_source.message}}</i><br/>Hosts:<i style=\"color: grey\">{{_source.fields.logsource}}</i><br/>SourceFile:<i style=\"color: grey\">{{_source.source}}</i><br/>LogType:<i style=\"color: grey\">{{_source.fields.logtype}}</i><br/>Time:<i style=\"color: grey\">{{_source.@timestamp}}</i></p>{{/payload.hits.hits}}<br/><div style=\"color: grey\"><br/><hr><br/><p>此监视程序根据以下标准发送警报:</p><br/><ul><li>{{watcher.condition.script.script}}</li></ul><br/></div>" } } }, "input": { "search": { "request": { "index": [ "filebeat-*" ], "body": { "query": { "bool": { "must": [ { "term": { "fields.logtype": "xxx" } }, { "term": { "tags": "exception" } }, { "range": { "@timestamp": { "gte": "now-1h", "lte": "now", "format": "epoch_millis" } } } ], "must_not": [], "should": [] } }, "sort": [ { "@timestamp": { "order": "desc" } } ] } } } }, "condition": { "script": { "script": "payload.hits.total >= 1" } }, "trigger": { "schedule": { "later": "every 1 hours" } }, "disable": false, "report": false, "title": "xxx异常预警", "save_payload": false, "spy": false, "impersonate": false, "username": "xxx" } ``` ## 求高手指点!!!
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
进程通信方式总结与盘点
​ 进程通信是指进程之间的信息交换。这里需要和进程同步做一下区分,进程同步控制多个进程按一定顺序执行,进程通信是一种手段,而进程同步是目标。从某方面来讲,进程通信可以解决进程同步问题。 ​ 首先回顾下我们前面博文中讲到的信号量机制,为了实现进程的互斥与同步,需要在进程间交换一定的信息,因此信号量机制也可以被归为进程通信的一种方式,但是也被称为低级进程通信,主要原因为: 效率低:一次只可操作少量的...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
听说了吗?阿里双11作战室竟1根网线都没有
双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此。 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“一地狼藉”;到如今媲美5G的wifi网速,到现场却看不到一根网线;从当年使用商用AP(无线路由器),让光明顶双11当天断网一分钟,到全部使用阿里自研AP……阿里巴巴企业智能事业部工程师们提供的基础保障...
在阿里,40岁的奋斗姿势
在阿里,40岁的奋斗姿势 在阿里,什么样的年纪可以称为老呢?35岁? 在云网络,有这样一群人,他们的平均年龄接近40,却刚刚开辟职业生涯的第二战场。 他们的奋斗姿势是什么样的呢? 洛神赋 “翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。远而望之,皎若太阳升朝霞;迫而察之,灼若芙蕖出渌波。” 爱洛神,爱阿里云 2018年,阿里云网络产品部门启动洛神2.0升...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
入职阿里5年,他如何破解“技术债”?
简介: 作者 | 都铎 作为一名技术人,你常常会听到这样的话: “先快速上线” “没时间改” “再缓一缓吧” “以后再解决” “先用临时方案处理” …… 当你埋下的坑越来越多,不知道哪天哪位同学就会踩上一颗雷。特别赞同“人最大的恐惧就是未知,当技术债可说不可见的时候,才是最让人不想解决的时候。” 作为一个程序员,我们反对复制粘贴,但是我们经常会见到相似的代码,相同的二方包,甚至整个代码...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
深度学习入门笔记(十八):卷积神经网络(一)
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
你也能看懂的:蒙特卡罗方法
蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法 蒙特卡罗方法可以粗略地分成两类:一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
相关热词 c#开发的dll注册 c#的反射 c# grid绑定数据源 c#多线程怎么循环 c# 鼠标左键 c# char占位符 c# 日期比较 c#16进制转换为int c#用递归求顺序表中最大 c#小型erp源代码
立即提问