mirror of
https://codeberg.org/mayx/pages
synced 2026-02-15 23:34:51 +08:00
update
This commit is contained in:
480
2018/11/04/mayx-think.html
Normal file
480
2018/11/04/mayx-think.html
Normal file
@@ -0,0 +1,480 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Begin Jekyll SEO tag v2.8.0 -->
|
||||
<title>Mayx的创想 | Mayx的博客</title>
|
||||
<meta name="generator" content="Jekyll v3.9.5" />
|
||||
<meta property="og:title" content="Mayx的创想" />
|
||||
<meta name="author" content="mayx" />
|
||||
<meta property="og:locale" content="zh_CN" />
|
||||
<meta name="description" content="这里是Mayx发布创想的地方。" />
|
||||
<meta property="og:description" content="这里是Mayx发布创想的地方。" />
|
||||
<meta property="og:site_name" content="Mayx的博客" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="article:published_time" content="2018-11-04T00:00:00+08:00" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta property="twitter:title" content="Mayx的创想" />
|
||||
<meta name="google-site-verification" content="huTYdEesm8NaFymixMNqflyCp6Jfvd615j5Wq1i2PHc" />
|
||||
<meta name="msvalidate.01" content="0ADFCE64B3557DC4DC5F2DC224C5FDDD" />
|
||||
<meta name="yandex-verification" content="fc0e535abed800be" />
|
||||
<script type="application/ld+json">
|
||||
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"mayx"},"dateModified":"2018-11-04T00:00:00+08:00","datePublished":"2018-11-04T00:00:00+08:00","description":"这里是Mayx发布创想的地方。","headline":"Mayx的创想","mainEntityOfPage":{"@type":"WebPage","@id":"/2018/11/04/mayx-think.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://avatars0.githubusercontent.com/u/17966333"},"name":"mayx"},"url":"/2018/11/04/mayx-think.html"}</script>
|
||||
<!-- End Jekyll SEO tag -->
|
||||
|
||||
<link rel="canonical" href="https://mabbs.github.io/2018/11/04/mayx-think.html" />
|
||||
<link type="application/atom+xml" rel="alternate" href="/atom.xml" title="Mayx的博客" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Mayx的博客(RSS)" href="/rss.xml" />
|
||||
<link rel="alternate" type="application/json" title="Mayx的博客(JSON Feed)" href="/feed.json" />
|
||||
<link rel="stylesheet" href="/assets/css/style.css?v=1770803700" />
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
|
||||
<!-- <![endif]-->
|
||||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Mayx的博客" />
|
||||
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
|
||||
<link rel="pingback" href="https://webmention.io/mabbs.github.io/xmlrpc" />
|
||||
<link rel="preconnect" href="https://summary.mayx.eu.org" crossorigin="anonymous" />
|
||||
<link rel="prefetch" href="https://www.blogsclub.org/badge/mabbs.github.io" as="image" />
|
||||
<link rel="blogroll" type="text/xml" href="/blogroll.opml" />
|
||||
<link rel="me" href="https://github.com/Mabbs" />
|
||||
<script src="/assets/js/jquery.min.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
var lastUpdated = new Date("Wed, 11 Feb 2026 17:55:00 +0800");
|
||||
var BlogAPI = "https://summary.mayx.eu.org";
|
||||
</script>
|
||||
<script src="/assets/js/main.js"></script>
|
||||
<!--[if !IE]> -->
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-137710294-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-137710294-1');
|
||||
</script>
|
||||
|
||||
<script src="/assets/js/instant.page.js" type="module"></script>
|
||||
<!-- <![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if !IE]> --><noscript><marquee style="top: -15px; position: relative;"><small>发现当前浏览器没有启用JavaScript,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee></noscript><!-- <![endif]-->
|
||||
<!--[if IE]><marquee style="top: -15px; position: relative;"><small>发现当前浏览器为Internet Explorer,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee><![endif]-->
|
||||
<div class="wrapper">
|
||||
<header class="h-card">
|
||||
<h1><a class="u-url u-uid p-name" rel="me" href="/">Mayx的博客</a></h1>
|
||||
|
||||
|
||||
<img src="https://avatars0.githubusercontent.com/u/17966333" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px;" />
|
||||
|
||||
|
||||
<p class="p-note">Mayx's Home Page</p>
|
||||
|
||||
<form action="/search.html">
|
||||
<input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.." /> <input type="submit" value="搜索" />
|
||||
</form>
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="view"><a class="u-url" href="/Mabbs/">About me</a></p>
|
||||
|
||||
<ul class="downloads">
|
||||
|
||||
<li style="width: 270px; border-right: none;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
|
||||
|
||||
</ul>
|
||||
</header>
|
||||
<section class="h-entry">
|
||||
|
||||
<small><time class="date dt-published" datetime="2018-11-04T00:00:00+08:00">4 November 2018</time> - 字数统计:2653 - 阅读大约需要8分钟 - Hits: <span id="/2018/11/04/mayx-think.html" class="visitors">Loading...</span></small>
|
||||
<h1 class="p-name">Mayx的创想</h1>
|
||||
|
||||
<p class="view">by <a class="p-author h-card" href="//github.com/Mabbs">mayx</a></p>
|
||||
<div id="outdate" style="display:none;">
|
||||
<hr /><p>
|
||||
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
|
||||
</p>
|
||||
</div>
|
||||
<script>
|
||||
daysold = Math.floor((new Date().getTime() - new Date("Sun, 04 Nov 2018 00:00:00 +0800").getTime()) / (24 * 60 * 60 * 1000));
|
||||
if (daysold > 90) {
|
||||
document.getElementById("outdate").style.display = "block";
|
||||
document.getElementById("outime").innerHTML = daysold;
|
||||
}
|
||||
</script>
|
||||
|
||||
<hr />
|
||||
|
||||
<b>AI摘要</b>
|
||||
<p id="ai-output">这篇文章介绍了作者Mayx的几个创想:1)一种通过麻醉和电极操纵实现无意识减肥的方法;2)设计一个整合键盘和鼠标的新概念,鼠标与键盘固定且键盘改为单手使用,具备显示系统状态的创新布局;3)设想让艾滋病患者通过特殊方式在受精卵阶段脱离HIV环境,以生出正常孩子;4)构想改进暖气系统,使之能直接加热床铺;5)以及Mayx对音乐处理系统的设想,包括分离音轨、优化音质和模块化编辑等功能。作者虽然认为自己的想法不考虑性价比,但认为这些设想有可能受欢迎。</p>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
<ul><li><a href="#关于减肥的创想">关于减肥的创想</a><ul><li><a href="#解决的发明">解决的发明</a></li></ul></li><li><a href="#关于键盘和鼠标的创想">关于键盘和鼠标的创想</a><ul><li><a href="#正文">正文</a></li></ul></li><li><a href="#关于艾滋病的创想">关于艾滋病的创想</a><ul><li><a href="#正文-1">正文</a></li><li><a href="#疑点">疑点</a></li></ul></li><li><a href="#关于暖气毯的创想">关于暖气毯的创想</a><ul><li><a href="#正文-2">正文</a></li><li><a href="#自我审查">自我审查</a></li></ul></li><li><a href="#关于mayx音乐处理系统的创想">关于Mayx音乐处理系统的创想</a><ul><li><a href="#player">Player</a></li><li><a href="#editor">Editor</a></li><li><a href="#other">Other</a><ul><li><a href="#自动remix串烧系统">自动Remix、串烧系统</a></li><li><a href="#全自动鬼畜系统">全自动鬼畜系统</a></li><li><a href="#音游谱自动处理系统">音游谱自动处理系统</a></li><li><a href="#自动编曲系统">自动编曲系统</a></li></ul></li><li><a href="#talk-is-cheap-show-me-the-code">Talk is cheap. Show me the code</a></li></ul></li></ul>
|
||||
<hr />
|
||||
|
||||
|
||||
<main class="post-content e-content" role="main"><p>这里是Mayx发布创想的地方。<!--more--> </p><p>
|
||||
有的时候,我会有一些想要发明的想法,但是经常忘记。现在为了防止忘记,我将在我的博客上更新我的创想。</p>
|
||||
<h1 id="关于减肥的创想">
|
||||
|
||||
|
||||
<a href="#关于减肥的创想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 关于减肥的创想
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>人们希望减肥,一是为了健康,二是为了舒服,三是为了活动方便。 </p><p>
|
||||
但是减肥很痛苦,为什么?并不是因为减肥浪费时间,而是因为减肥会有糟糕的感觉回馈给大脑。 </p><p>
|
||||
不仅如此,越胖,减肥时越难受,越难受就越不想减肥,这样就会造成恶性循环。</p>
|
||||
<h2 id="解决的发明">
|
||||
|
||||
|
||||
<a href="#解决的发明"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 解决的发明
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>既然如此,那么我们只要让大脑不会感受到减肥时产生的糟糕的感觉,就可以解决这个问题了。 </p><p>
|
||||
可是如果没有大脑的参与,人怎么能控制自己的身体动起来呢?我有一个想法: </p><p>
|
||||
首先通过麻醉的方式阻断大脑与身体的连接,然后使用电极的方式直接操控肌肉运动,大概感觉就是把麻醉的人绑在跑步机上,周围提供充足的氧气,然后电极按照跑步机
|
||||
的速度调整腿摆动的频率,这样就能在没有意识的情况下减肥了。 </p><p>
|
||||
直到减到运动并不会让人感到痛苦时就可以结束了。 </p><p>
|
||||
这种减肥方式比现有的节食,还是抖抖机,甚至是抽脂都要好得多,那些方案对身体的伤害很大,而且效果也并不好。这种方案如果可以使用,我一定要试试(笑)。</p>
|
||||
<h1 id="关于键盘和鼠标的创想">
|
||||
|
||||
|
||||
<a href="#关于键盘和鼠标的创想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 关于键盘和鼠标的创想
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>既然那么多设计师设计出各种各样千奇百怪的键盘,那我干脆也设计一个好了</p>
|
||||
<h2 id="正文">
|
||||
|
||||
|
||||
<a href="#正文"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 正文
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>我希望有一种键盘,它和鼠标在一起,也就是说,鼠标不是随便可以移动的,而是固定在键盘上,一个巴掌正好可以握住的那种。不过这样设计,就得让左撇子和右撇子用不同的键盘了……无所谓,然后鼠标上有四个按钮,一个滚轮,按钮中两个是左键和右键,另外两个可以自定义。在鼠标下面有很多像扬声器一样的孔,用来给手散热。具体的运动方式可以参考一下TrackPoint,就是那个IBM发明的在ThinkPad的小红点。那个太小,控制起来精度也不高,那么我设计成更大的,握起来也会更舒服吧。 </p><p>
|
||||
键盘还是QWERTY的就好,我也习惯了,不过这次我想把QWERTY键盘改成单手式的,因为另外一只手被鼠标占用了,不过这样对专门打字的人有点不友好……无所谓。具体键盘使用什么技术,我这次不想谈。接下来就是鼠标和键盘的中间位置了,因为手被鼠标和键盘占用了,中间我不想弄太多控制的按钮,我希望弄点显示系统工作状态的东西,比如当前网速,当前内存占用,CPU占用等等……然后在中间弄一个大大的电源按钮,按下它,整个键盘的LED灯会随着系统的启动依次亮起,关机时依次熄灭。除了这些,我希望在键盘顶部设置调节亮度的杆,在键盘旁设置调节音量的杆,在键盘后面加一组USB Hub…… </p><p>
|
||||
键盘整体长什么样?很简单,我觉得弄成半弧形——就是在圆环上截下来一部分的那种东西一样。 </p><p>
|
||||
如果出了这种键盘,我会不会买呢?恐怕不会……原谅我设计不考虑性价比……但是我觉得这种键盘要是发明出来,应该会很受欢迎吧……</p>
|
||||
<h1 id="关于艾滋病的创想">
|
||||
|
||||
|
||||
<a href="#关于艾滋病的创想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 关于艾滋病的创想
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>前几天(今天是2018-12-2)有一个新闻,说是“世界首例免疫艾滋病的基因编辑婴儿在中国诞生”。于是我就想起来之前我所想的一个如何让艾滋病患者生出正常的小孩。</p>
|
||||
<h2 id="正文-1">
|
||||
|
||||
|
||||
<a href="#正文-1"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 正文
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>首先,我们知道,HIV只会攻击T细胞,而感染AIDS后全身都是HIV病毒。那么可以想到,其实HIV不能攻击受精卵,那么只要在受精卵发育之前,让它脱离HIV的环境就好了。
|
||||
具体原理和试管婴儿和克隆有点像,就是把受精卵移到正常的代孕母亲上就可以了。而且也不能用得了AIDS人的母乳喂养,这样,我觉得应该就可以生出正常的孩子了。</p>
|
||||
<h2 id="疑点">
|
||||
|
||||
|
||||
<a href="#疑点"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 疑点
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>我不知道现在的人有没有水平在保留受精卵的同时消除HIV,如果不能,这样反倒会让代孕母亲感染AIDS……这可真是个问题……</p>
|
||||
<h1 id="关于暖气毯的创想">
|
||||
|
||||
|
||||
<a href="#关于暖气毯的创想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 关于暖气毯的创想
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>最近学校通暖气了。我趴在暖气片上,突然想到,为什么不把暖气用在床上呢?</p>
|
||||
<h2 id="正文-2">
|
||||
|
||||
|
||||
<a href="#正文-2"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 正文
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>我觉得电热毯费电,而且又小(倒不是没有大的)……其实最主要的是我趴在暖气片上感觉很舒服lol。 </p><p>
|
||||
我想做一个毯子,里面有很多空腔,然后把暖气水通到这个毯子里,然后就可以利用暖气让床变暖了。</p>
|
||||
<h2 id="自我审查">
|
||||
|
||||
|
||||
<a href="#自我审查"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 自我审查
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>为什么没有这样的产品?我觉得可能是因为有暖气的人就用不着电热毯了,而用电热毯的人大多没有暖气,所以这个东西可能没有市场吧。 </p><p>
|
||||
不过可以暖被子啊lol…</p>
|
||||
<h1 id="关于mayx音乐处理系统的创想">
|
||||
|
||||
|
||||
<a href="#关于mayx音乐处理系统的创想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 关于Mayx音乐处理系统的创想
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>在听音乐的时候(我听的音乐可以看作是DJ吧……),在头里就会浮现出一堆音轨和频谱之类的东西,于是我就想,能不能让机器把音乐中的音轨分离出来,这样既可以提高音质,又能方便编辑,而且也能加一些更有趣的东西…… </p><p>
|
||||
那么接下来这个音乐处理系统主要分为以下几块:</p>
|
||||
<h2 id="player">
|
||||
|
||||
|
||||
<a href="#player"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> Player
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>首先在播放前解析歌曲,将音乐中的各种乐器声、人声、杂音都分离出来,得到几个音轨,然后将分析出来的音轨进行优化:比如钢琴谱用系统中更加高清的波表重制,根据实际体验除去杂音等等,最后合并音轨,这样就能得到更加清晰的音乐了。 </p><p>
|
||||
优点:</p>
|
||||
<ol>
|
||||
<li>音乐更加清晰</li>
|
||||
<li>可以根据波表自行更改音乐风格(有点像Remix?)</li>
|
||||
<li>可以在提高音乐品质的同时减小音乐大小(类似于Midi,但是可以有人声和其他的声音)(当然得用特殊的文件格式,不是所有的音乐播放器都能播放)</li>
|
||||
<li>处理得出的结果可以用于更多方面(接下来会说到)</li>
|
||||
</ol>
|
||||
|
||||
<p>缺点:</p>
|
||||
<ol>
|
||||
<li>需要预处理,不能直接播放</li>
|
||||
<li>有点担心波表的声音和现实中的乐器声区别太大</li>
|
||||
</ol>
|
||||
<h2 id="editor">
|
||||
|
||||
|
||||
<a href="#editor"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> Editor
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>既然已经用Player将音轨拆分,那么就可以拿来编辑啦! </p><p>
|
||||
当然不仅仅是这样,如果只是这样的话和其他的音乐编辑器有什么区别呢? </p><p>
|
||||
这个音乐编辑器的优点是模块化,就如同Scratch一样,编辑音乐就和拼积木一样,让音痴也能轻易制作音乐!</p>
|
||||
<h2 id="other">
|
||||
|
||||
|
||||
<a href="#other"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> Other
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>其他方面我还想过很多,比如可以用到人工智能提高用户体验之类的啦:</p>
|
||||
<h3 id="自动remix串烧系统">
|
||||
|
||||
|
||||
<a href="#自动remix串烧系统"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 自动Remix、串烧系统
|
||||
|
||||
|
||||
</h3>
|
||||
|
||||
<p>根据用户听的音乐风格,可以将音乐Remix为用户喜欢的风格,而串烧则是将相似风格的音乐无缝穿插,我觉得以现在的科技水平应该是没有问题的吧……</p>
|
||||
<h3 id="全自动鬼畜系统">
|
||||
|
||||
|
||||
<a href="#全自动鬼畜系统"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 全自动鬼畜系统
|
||||
|
||||
|
||||
</h3>
|
||||
|
||||
<p>将素材扔进去,首先把原音乐的人声分析出来,然后转换成注音,接下来在素材中找有相似注音的片段,自动剪辑,然后和优化后的伴奏合并,变成鬼畜视频。 </p><p>
|
||||
其实这样的话也可以把Vocaloid拉进来,就可以将任何一首歌转换为V家人员唱的歌了。 </p><p>
|
||||
这样也能大大减少做鬼畜的难度吧(我听说一般做鬼畜都要一个月……)</p>
|
||||
<h3 id="音游谱自动处理系统">
|
||||
|
||||
|
||||
<a href="#音游谱自动处理系统"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 音游谱自动处理系统
|
||||
|
||||
|
||||
</h3>
|
||||
|
||||
<p>用解析出来的音轨转换为音游谱,这样自己喜欢的音乐就算没人制谱也可以玩了</p>
|
||||
<h3 id="自动编曲系统">
|
||||
|
||||
|
||||
<a href="#自动编曲系统"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 自动编曲系统
|
||||
|
||||
|
||||
</h3>
|
||||
|
||||
<p>既然新闻、诗歌都可以由机器人编写,那么谱曲应该也一样简单吧!收集所有曲谱,通过人工智能与大数据,写出评价最高的音乐也是有可能的吧!</p>
|
||||
<h2 id="talk-is-cheap-show-me-the-code">
|
||||
|
||||
|
||||
<a href="#talk-is-cheap-show-me-the-code"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> Talk is cheap. Show me the code
|
||||
|
||||
|
||||
</h2>
|
||||
|
||||
<p>Are You Kidding Me?我一个菜鸡哪有本事写这么高级的代码,让大佬来写吧!(产品经理的思维)</p><hr />
|
||||
<p>(未完待续)</p></main>
|
||||
|
||||
|
||||
<small style="display: block">tags: <a rel="category tag" class="p-category" href="/search.html?keyword=Mayx"><em>Mayx</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=%E5%88%9B%E6%83%B3"><em>创想</em></a> <span style="float: right;"><a href="https://gitlab.com/mayx/mayx.gitlab.io/tree/master/_posts/2018-11-04-mayx-think.md">查看原始文件</a></span></small>
|
||||
|
||||
|
||||
<h4 style="border-bottom: 1px solid #e5e5e5;margin: 2em 0 5px;">推荐文章</h4>
|
||||
<p id="suggest-container">Loading...</p>
|
||||
<script>
|
||||
var suggest = $("#suggest-container");
|
||||
$.get(BlogAPI + "/suggest?id=/2018/11/04/mayx-think.html&update=" + lastUpdated.valueOf(), function (data) {
|
||||
if (data.length) {
|
||||
getSearchJSON(function (search) {
|
||||
suggest.empty();
|
||||
var searchMap = {};
|
||||
for (var i = 0; i < search.length; i++) {
|
||||
searchMap[search[i].url] = search[i];
|
||||
}
|
||||
|
||||
var tooltip = $('<div class="content-tooltip"></div>').appendTo('body').hide();
|
||||
for (var j = 0; j < data.length; j++) {
|
||||
var item = searchMap[data[j].id];
|
||||
if (item) {
|
||||
var link = $('<a href="' + item.url + '">' + item.title + '</a>');
|
||||
var contentPreview = item.content.substring(0, 100);
|
||||
if (item.content.length > 100) {
|
||||
contentPreview += "……";
|
||||
}
|
||||
link.hover(
|
||||
function(e) {
|
||||
tooltip.text($(this).data('content'))
|
||||
.css({
|
||||
top: e.pageY + 10,
|
||||
left: e.pageX + 10
|
||||
})
|
||||
.show();
|
||||
},
|
||||
function() {
|
||||
tooltip.hide();
|
||||
}
|
||||
).mousemove(function(e) {
|
||||
tooltip.css({
|
||||
top: e.pageY + 10,
|
||||
left: e.pageX + 10
|
||||
});
|
||||
}).data('content', contentPreview);
|
||||
|
||||
suggest.append(link);
|
||||
suggest.append(' - ' + item.date + '<br />');
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
suggest.html("暂无推荐文章……");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<br />
|
||||
<div class="pagination">
|
||||
|
||||
<span class="prev">
|
||||
<a href="/2018/10/28/mos-reporter.html">
|
||||
上一篇:Mayx的自检报告
|
||||
</a>
|
||||
</span>
|
||||
|
||||
<br />
|
||||
|
||||
<span class="next">
|
||||
<a href="/2018/11/10/email-sender.html">
|
||||
下一篇:免费订阅一个属于自己的邮件日报
|
||||
</a>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/assets/css/gitalk.css">
|
||||
<script src="/assets/js/gitalk.min.js"></script>
|
||||
|
||||
<div id="gitalk-container"></div>
|
||||
|
||||
<script>
|
||||
var gitalk = new Gitalk({
|
||||
clientID: '36557aec4c3cb04f7ac6',
|
||||
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
|
||||
repo: 'mabbs.github.io',
|
||||
owner: 'Mabbs',
|
||||
admin: ['Mabbs'],
|
||||
id: '/2018/11/04/mayx-think', // Ensure uniqueness and length less than 50
|
||||
distractionFreeMode: false, // Facebook-like distraction free mode
|
||||
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
|
||||
})
|
||||
gitalk.render('gitalk-container')
|
||||
</script>
|
||||
<!-- <![endif]-->
|
||||
|
||||
</section>
|
||||
<!--[if !IE]> -->
|
||||
<div id="landlord" style="left:5px;bottom:0px;">
|
||||
<div class="message" style="opacity:0"></div>
|
||||
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
|
||||
<div class="live_talk_input_body">
|
||||
<form id="live_talk_input_form">
|
||||
<div class="live_talk_input_name_body" >
|
||||
<input type="checkbox" id="load_this" />
|
||||
<input type="hidden" id="post_id" value="/2018/11/04/mayx-think.html" />
|
||||
<label for="load_this">
|
||||
<span style="font-size: 11px; color: #fff;"> 想问这篇文章</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="live_talk_input_text_body">
|
||||
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?" />
|
||||
<button type="submit" class="live_talk_send_btn" id="talk_send">发送</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<input name="live_talk" id="live_talk" value="1" type="hidden" />
|
||||
<div class="live_ico_box" style="display:none;">
|
||||
<div class="live_ico_item type_info" id="showInfoBtn"></div>
|
||||
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
|
||||
<div class="live_ico_item type_music" id="musicButton"></div>
|
||||
<div class="live_ico_item type_youdu" id="youduButton"></div>
|
||||
<div class="live_ico_item type_quit" id="hideButton"></div>
|
||||
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
|
||||
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
|
||||
<input id="duType" value="douqilai" type="hidden" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="open_live2d">召唤伊斯特瓦尔</div>
|
||||
<!-- <![endif]-->
|
||||
<footer>
|
||||
<p>
|
||||
<small>Made with ❤ by Mayx<br />Last updated at 2026-02-11 17:55:00<br /> 总字数:617672 - 文章数:179 - <a href="/atom.xml" >Atom</a> - <a href="/README.html" >About</a></small>
|
||||
</p>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="/assets/js/scale.fix.js"></script>
|
||||
<!--[if !IE]> -->
|
||||
<script src="/assets/js/main_new.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/message.js"></script>
|
||||
<!-- <![endif]-->
|
||||
</body>
|
||||
</html>
|
||||
420
2018/11/10/email-sender.html
Normal file
420
2018/11/10/email-sender.html
Normal file
@@ -0,0 +1,420 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Begin Jekyll SEO tag v2.8.0 -->
|
||||
<title>免费订阅一个属于自己的邮件日报 | Mayx的博客</title>
|
||||
<meta name="generator" content="Jekyll v3.9.5" />
|
||||
<meta property="og:title" content="免费订阅一个属于自己的邮件日报" />
|
||||
<meta name="author" content="mayx" />
|
||||
<meta property="og:locale" content="zh_CN" />
|
||||
<meta name="description" content="前几天,我给自己做了一个邮件订阅系统" />
|
||||
<meta property="og:description" content="前几天,我给自己做了一个邮件订阅系统" />
|
||||
<meta property="og:site_name" content="Mayx的博客" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="article:published_time" content="2018-11-10T00:00:00+08:00" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta property="twitter:title" content="免费订阅一个属于自己的邮件日报" />
|
||||
<meta name="google-site-verification" content="huTYdEesm8NaFymixMNqflyCp6Jfvd615j5Wq1i2PHc" />
|
||||
<meta name="msvalidate.01" content="0ADFCE64B3557DC4DC5F2DC224C5FDDD" />
|
||||
<meta name="yandex-verification" content="fc0e535abed800be" />
|
||||
<script type="application/ld+json">
|
||||
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"mayx"},"dateModified":"2018-11-10T00:00:00+08:00","datePublished":"2018-11-10T00:00:00+08:00","description":"前几天,我给自己做了一个邮件订阅系统","headline":"免费订阅一个属于自己的邮件日报","mainEntityOfPage":{"@type":"WebPage","@id":"/2018/11/10/email-sender.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://avatars0.githubusercontent.com/u/17966333"},"name":"mayx"},"url":"/2018/11/10/email-sender.html"}</script>
|
||||
<!-- End Jekyll SEO tag -->
|
||||
|
||||
<link rel="canonical" href="https://mabbs.github.io/2018/11/10/email-sender.html" />
|
||||
<link type="application/atom+xml" rel="alternate" href="/atom.xml" title="Mayx的博客" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Mayx的博客(RSS)" href="/rss.xml" />
|
||||
<link rel="alternate" type="application/json" title="Mayx的博客(JSON Feed)" href="/feed.json" />
|
||||
<link rel="stylesheet" href="/assets/css/style.css?v=1770803700" />
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
|
||||
<!-- <![endif]-->
|
||||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Mayx的博客" />
|
||||
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
|
||||
<link rel="pingback" href="https://webmention.io/mabbs.github.io/xmlrpc" />
|
||||
<link rel="preconnect" href="https://summary.mayx.eu.org" crossorigin="anonymous" />
|
||||
<link rel="prefetch" href="https://www.blogsclub.org/badge/mabbs.github.io" as="image" />
|
||||
<link rel="blogroll" type="text/xml" href="/blogroll.opml" />
|
||||
<link rel="me" href="https://github.com/Mabbs" />
|
||||
<script src="/assets/js/jquery.min.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
var lastUpdated = new Date("Wed, 11 Feb 2026 17:55:00 +0800");
|
||||
var BlogAPI = "https://summary.mayx.eu.org";
|
||||
</script>
|
||||
<script src="/assets/js/main.js"></script>
|
||||
<!--[if !IE]> -->
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-137710294-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-137710294-1');
|
||||
</script>
|
||||
|
||||
<script src="/assets/js/instant.page.js" type="module"></script>
|
||||
<!-- <![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if !IE]> --><noscript><marquee style="top: -15px; position: relative;"><small>发现当前浏览器没有启用JavaScript,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee></noscript><!-- <![endif]-->
|
||||
<!--[if IE]><marquee style="top: -15px; position: relative;"><small>发现当前浏览器为Internet Explorer,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee><![endif]-->
|
||||
<div class="wrapper">
|
||||
<header class="h-card">
|
||||
<h1><a class="u-url u-uid p-name" rel="me" href="/">Mayx的博客</a></h1>
|
||||
|
||||
|
||||
<img src="https://avatars0.githubusercontent.com/u/17966333" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px;" />
|
||||
|
||||
|
||||
<p class="p-note">Mayx's Home Page</p>
|
||||
|
||||
<form action="/search.html">
|
||||
<input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.." /> <input type="submit" value="搜索" />
|
||||
</form>
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="view"><a class="u-url" href="/Mabbs/">About me</a></p>
|
||||
|
||||
<ul class="downloads">
|
||||
|
||||
<li style="width: 270px; border-right: none;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
|
||||
|
||||
</ul>
|
||||
</header>
|
||||
<section class="h-entry">
|
||||
|
||||
<small><time class="date dt-published" datetime="2018-11-10T00:00:00+08:00">10 November 2018</time> - 字数统计:3753 - 阅读大约需要13分钟 - Hits: <span id="/2018/11/10/email-sender.html" class="visitors">Loading...</span></small>
|
||||
<h1 class="p-name">免费订阅一个属于自己的邮件日报</h1>
|
||||
|
||||
<p class="view">by <a class="p-author h-card" href="//github.com/Mabbs">mayx</a></p>
|
||||
<div id="outdate" style="display:none;">
|
||||
<hr /><p>
|
||||
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
|
||||
</p>
|
||||
</div>
|
||||
<script>
|
||||
daysold = Math.floor((new Date().getTime() - new Date("Sat, 10 Nov 2018 00:00:00 +0800").getTime()) / (24 * 60 * 60 * 1000));
|
||||
if (daysold > 90) {
|
||||
document.getElementById("outdate").style.display = "block";
|
||||
document.getElementById("outime").innerHTML = daysold;
|
||||
}
|
||||
</script>
|
||||
|
||||
<hr />
|
||||
|
||||
<b>AI摘要</b>
|
||||
<p id="ai-output">这篇文章介绍了作者如何利用PHP制作了一个免费订阅的邮件日报系统。作者通过搜索并利用现成的PHP资源,如sendmail和CronTab功能,设置了自动发送邮件的工作流程。邮件包含了天气预报、笑话和新闻等内容,且制作者留有余地,如使用Travis-CI和短信提醒等功能进行扩展。最后,作者分享了创建过程中的心得和提示,欢迎读者尝试并加入邮件订阅。</p>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
<ul><li><a href="#制作方法">制作方法</a></li><li><a href="#代码">代码</a></li><li><a href="#后记">后记</a></li></ul>
|
||||
<hr />
|
||||
|
||||
|
||||
<main class="post-content e-content" role="main"><p>前几天,我给自己做了一个邮件订阅系统<!--more-->,是用PHP做的。这里不得不夸赞一下PHP,PHP真不愧是世界上最好的语言,我从来没学过PHP,但是我光靠百度搜到
|
||||
的东西拼凑就能搞出这个邮件订阅系统,还是很不错的,而且网上的免费PHP空间也有很多,所以就可以很轻易的给自己搞一个免费的邮件订阅系统。</p>
|
||||
<h1 id="制作方法">
|
||||
|
||||
|
||||
<a href="#制作方法"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 制作方法
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>很简单,首先去百度上搜一个带sendmail和CronTab的免费PHP主机空间,然后在上面创建一个PHP文件,随便取什么名字都好,只要后缀是PHP就可以,然后把下面的代码
|
||||
粘上去,保存,然后在主机面板上设置CornTab任务,设定为每天运行一次,然后OK……对了,记得把下面变量<code class="language-plaintext highlighter-rouge">$to</code>里面的地址换成自己的邮箱地址,不然每次发送邮件就会发
|
||||
到我的邮箱了……</p>
|
||||
<h1 id="代码">
|
||||
|
||||
|
||||
<a href="#代码"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 代码
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp"><?php</span>
|
||||
<span class="k">function</span> <span class="n">curl_post_https</span><span class="p">(</span><span class="nv">$url</span><span class="p">,</span><span class="nv">$data</span><span class="p">){</span> <span class="c1">// 模拟提交数据函数</span>
|
||||
<span class="nv">$curl</span> <span class="o">=</span> <span class="nb">curl_init</span><span class="p">();</span> <span class="c1">// 启动一个CURL会话</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_URL</span><span class="p">,</span> <span class="nv">$url</span><span class="p">);</span> <span class="c1">// 要访问的地址</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_SSL_VERIFYPEER</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> <span class="c1">// 对认证证书来源的检查</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_SSL_VERIFYHOST</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="c1">// 从证书中检查SSL加密算法是否存在</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_FOLLOWLOCATION</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="c1">// 使用自动跳转</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_AUTOREFERER</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="c1">// 自动设置Referer</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_POST</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="c1">// 发送一个常规的Post请求</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_POSTFIELDS</span><span class="p">,</span> <span class="nv">$data</span><span class="p">);</span> <span class="c1">// Post提交的数据包</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_TIMEOUT</span><span class="p">,</span> <span class="mi">30</span><span class="p">);</span> <span class="c1">// 设置超时限制防止死循环</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_HEADER</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> <span class="c1">// 显示返回的Header区域内容</span>
|
||||
<span class="nb">curl_setopt</span><span class="p">(</span><span class="nv">$curl</span><span class="p">,</span> <span class="no">CURLOPT_RETURNTRANSFER</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="c1">// 获取的信息以文件流的形式返回</span>
|
||||
<span class="nv">$tmpInfo</span> <span class="o">=</span> <span class="nb">curl_exec</span><span class="p">(</span><span class="nv">$curl</span><span class="p">);</span> <span class="c1">// 执行操作</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nb">curl_errno</span><span class="p">(</span><span class="nv">$curl</span><span class="p">))</span> <span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="s1">'Errno'</span><span class="mf">.</span><span class="nb">curl_error</span><span class="p">(</span><span class="nv">$curl</span><span class="p">);</span><span class="c1">//捕抓异常</span>
|
||||
<span class="p">}</span>
|
||||
<span class="nb">curl_close</span><span class="p">(</span><span class="nv">$curl</span><span class="p">);</span> <span class="c1">// 关闭CURL会话</span>
|
||||
<span class="nv">$backdata</span> <span class="o">=</span> <span class="nb">json_decode</span><span class="p">(</span><span class="nv">$tmpInfo</span><span class="p">,</span><span class="kc">true</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="nv">$backdata</span><span class="p">[</span><span class="s1">'text'</span><span class="p">];</span> <span class="c1">// 返回数据,json格式</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">function</span> <span class="n">w_get</span><span class="p">(){</span>
|
||||
<span class="nv">$url</span> <span class="o">=</span> <span class="s1">'https://yuri.gear.host/talk.php'</span><span class="p">;</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'info'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'某地天气'</span><span class="p">;</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'userid'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'Mayx_Mail'</span><span class="p">;</span>
|
||||
<span class="nv">$retdata</span><span class="o">=</span><span class="nf">curl_post_https</span><span class="p">(</span><span class="nv">$url</span><span class="p">,</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'info'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'某地明天天气'</span><span class="p">;</span>
|
||||
<span class="nv">$retdata</span> <span class="o">=</span> <span class="nv">$retdata</span> <span class="mf">.</span> <span class="s2">"<br>"</span> <span class="mf">.</span><span class="nf">curl_post_https</span><span class="p">(</span><span class="nv">$url</span><span class="p">,</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'info'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'某地后天天气'</span><span class="p">;</span>
|
||||
<span class="nv">$retdata</span><span class="o">=</span><span class="nv">$retdata</span> <span class="mf">.</span> <span class="s2">"<br>"</span> <span class="mf">.</span><span class="nf">curl_post_https</span><span class="p">(</span><span class="nv">$url</span><span class="p">,</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="nv">$retdata</span><span class="p">;</span><span class="c1">//返回json</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">function</span> <span class="n">xh_get</span><span class="p">(){</span>
|
||||
<span class="nv">$url</span> <span class="o">=</span> <span class="s1">'https://yuri.gear.host/talk.php'</span><span class="p">;</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'info'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'讲个笑话'</span><span class="p">;</span>
|
||||
<span class="nv">$data</span><span class="p">[</span><span class="s1">'userid'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'Mayx_Mail'</span><span class="p">;</span>
|
||||
<span class="nv">$retdata</span><span class="o">=</span><span class="nf">curl_post_https</span><span class="p">(</span><span class="nv">$url</span><span class="p">,</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="nv">$retdata</span><span class="p">;</span><span class="c1">//返回json</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">function</span> <span class="n">xw_get</span><span class="p">(){</span>
|
||||
<span class="c1">//RSS源地址列表数组 </span>
|
||||
<span class="nv">$rssfeed</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"http://www.people.com.cn/rss/it.xml"</span><span class="p">);</span>
|
||||
|
||||
<span class="k">for</span><span class="p">(</span><span class="nv">$i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nv">$i</span><span class="o"><</span><span class="nb">sizeof</span><span class="p">(</span><span class="nv">$rssfeed</span><span class="p">);</span><span class="nv">$i</span><span class="o">++</span><span class="p">){</span><span class="c1">//分解开始 </span>
|
||||
<span class="nv">$buff</span> <span class="o">=</span> <span class="s2">""</span><span class="p">;</span>
|
||||
<span class="nv">$rss_str</span><span class="o">=</span><span class="s2">""</span><span class="p">;</span>
|
||||
<span class="c1">//打开rss地址,并读取,读取失败则中止 </span>
|
||||
<span class="nv">$fp</span> <span class="o">=</span> <span class="nb">fopen</span><span class="p">(</span><span class="nv">$rssfeed</span><span class="p">[</span><span class="nv">$i</span><span class="p">],</span><span class="s2">"r"</span><span class="p">)</span> <span class="k">or</span> <span class="k">die</span><span class="p">(</span><span class="s2">"can not open </span><span class="nv">$rssfeed</span><span class="s2">"</span><span class="p">);</span>
|
||||
<span class="k">while</span> <span class="p">(</span> <span class="o">!</span><span class="nb">feof</span><span class="p">(</span><span class="nv">$fp</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nv">$buff</span> <span class="mf">.</span><span class="o">=</span> <span class="nb">fgets</span><span class="p">(</span><span class="nv">$fp</span><span class="p">,</span><span class="mi">4096</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="c1">//关闭文件打开 </span>
|
||||
<span class="nb">fclose</span><span class="p">(</span><span class="nv">$fp</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">//建立一个 XML 解析器 </span>
|
||||
<span class="nv">$parser</span> <span class="o">=</span> <span class="nb">xml_parser_create</span><span class="p">();</span>
|
||||
<span class="c1">//xml_parser_set_option -- 为指定 XML 解析进行选项设置 </span>
|
||||
<span class="nb">xml_parser_set_option</span><span class="p">(</span><span class="nv">$parser</span><span class="p">,</span><span class="no">XML_OPTION_SKIP_WHITE</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span>
|
||||
<span class="c1">//xml_parse_into_struct -- 将 XML 数据解析到数组$values中 </span>
|
||||
<span class="nb">xml_parse_into_struct</span><span class="p">(</span><span class="nv">$parser</span><span class="p">,</span><span class="nv">$buff</span><span class="p">,</span><span class="nv">$values</span><span class="p">,</span><span class="nv">$idx</span><span class="p">);</span>
|
||||
<span class="c1">//xml_parser_free -- 释放指定的 XML 解析器 </span>
|
||||
<span class="nb">xml_parser_free</span><span class="p">(</span><span class="nv">$parser</span><span class="p">);</span>
|
||||
<span class="nv">$j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$values</span> <span class="k">as</span> <span class="nv">$val</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nv">$tag</span> <span class="o">=</span> <span class="nv">$val</span><span class="p">[</span><span class="s2">"tag"</span><span class="p">];</span>
|
||||
<span class="nv">$type</span> <span class="o">=</span> <span class="nv">$val</span><span class="p">[</span><span class="s2">"type"</span><span class="p">];</span>
|
||||
<span class="nv">$value</span> <span class="o">=</span> <span class="nv">$val</span><span class="p">[</span><span class="s2">"value"</span><span class="p">];</span>
|
||||
<span class="c1">//标签统一转为小写 </span>
|
||||
<span class="nv">$tag</span> <span class="o">=</span> <span class="nb">strtolower</span><span class="p">(</span><span class="nv">$tag</span><span class="p">);</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$tag</span> <span class="o">==</span> <span class="s2">"item"</span> <span class="o">&&</span> <span class="nv">$type</span> <span class="o">==</span> <span class="s2">"open"</span><span class="p">){</span>
|
||||
<span class="nv">$is_item</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
|
||||
<span class="p">}</span><span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nv">$tag</span> <span class="o">==</span> <span class="s2">"item"</span> <span class="o">&&</span> <span class="nv">$type</span> <span class="o">==</span> <span class="s2">"close"</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="c1">//构造输出字符串 </span>
|
||||
<span class="nv">$rss_str</span> <span class="mf">.</span><span class="o">=</span> <span class="s2">"<a href='"</span><span class="mf">.</span><span class="nv">$link</span><span class="mf">.</span><span class="s2">"' target=_blank>"</span><span class="mf">.</span><span class="nv">$title</span><span class="mf">.</span><span class="s2">"</a><br />"</span><span class="p">;</span>
|
||||
<span class="nv">$j</span><span class="o">++</span><span class="p">;</span>
|
||||
<span class="nv">$is_item</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="c1">//仅读取item标签中的内容 </span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nv">$is_item</span><span class="o">==</span><span class="mi">1</span><span class="p">){</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$tag</span> <span class="o">==</span> <span class="s2">"title"</span><span class="p">)</span> <span class="p">{</span><span class="nv">$title</span> <span class="o">=</span> <span class="nv">$value</span><span class="p">;}</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$tag</span> <span class="o">==</span> <span class="s2">"link"</span><span class="p">)</span> <span class="p">{</span><span class="nv">$link</span> <span class="o">=</span> <span class="nv">$value</span><span class="p">;}</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nv">$j</span> <span class="o">==</span> <span class="mi">20</span><span class="p">){</span>
|
||||
<span class="k">break</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
<span class="c1">//输出结果 </span>
|
||||
<span class="k">return</span> <span class="nv">$rss_str</span><span class="mf">.</span><span class="s2">"<br />"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
<span class="nv">$to</span> <span class="o">=</span> <span class="s2">"mayx@outlook.com , unmayx@139.com"</span><span class="p">;</span>
|
||||
<span class="nv">$subject</span> <span class="o">=</span> <span class="s2">"Mayx日报"</span><span class="p">;</span>
|
||||
<span class="nv">$txt</span> <span class="o">=</span> <span class="s2">"
|
||||
<html>
|
||||
<body>
|
||||
<h1>Mayx日报</h1><hr>Hi,今天是"</span> <span class="mf">.</span> <span class="nb">date</span><span class="p">(</span><span class="s2">"Y-m-d"</span><span class="p">)</span> <span class="mf">.</span> <span class="s2">",以下是今天的日报:<br><small>
|
||||
"</span> <span class="mf">.</span> <span class="nb">file_get_contents</span><span class="p">(</span><span class="s2">"http://mappi.000webhostapp.com/hitokoto/"</span><span class="p">)</span> <span class="mf">.</span> <span class="s2">"</small>
|
||||
<h2>天气预报</h2>"</span> <span class="mf">.</span> <span class="nf">w_get</span><span class="p">()</span> <span class="mf">.</span> <span class="s2">"<h2>每日笑话</h2>"</span> <span class="mf">.</span> <span class="nf">xh_get</span><span class="p">()</span> <span class="mf">.</span> <span class="s2">"<h2>今日新闻</h2>"</span> <span class="mf">.</span> <span class="nf">xw_get</span><span class="p">()</span> <span class="mf">.</span> <span class="s2">"<hr><small>"</span> <span class="mf">.</span> <span class="nb">file_get_contents</span><span class="p">(</span><span class="s2">"https://api.gushi.ci/all.txt"</span><span class="p">)</span> <span class="mf">.</span> <span class="s2">"</small><br><center>Made By <a href=</span><span class="se">\"</span><span class="s2">https://mabbs.github.io</span><span class="se">\"</span><span class="s2">>Mayx</a></center>
|
||||
</body>
|
||||
</html>
|
||||
"</span><span class="p">;</span>
|
||||
<span class="nv">$headers</span> <span class="o">=</span> <span class="s2">"MIME-Version: 1.0"</span> <span class="mf">.</span> <span class="s2">"</span><span class="se">\r\n</span><span class="s2">"</span> <span class="mf">.</span>
|
||||
<span class="s2">"Content-type: text/html;charset=utf-8"</span> <span class="mf">.</span> <span class="s2">"</span><span class="se">\r\n</span><span class="s2">"</span> <span class="mf">.</span>
|
||||
<span class="s2">"From: Mayx_Daily<Mayx_Site>"</span><span class="p">;</span>
|
||||
|
||||
<span class="nb">mail</span><span class="p">(</span><span class="nv">$to</span><span class="p">,</span><span class="nv">$subject</span><span class="p">,</span><span class="nv">$txt</span><span class="p">,</span><span class="nv">$headers</span><span class="p">);</span>
|
||||
<span class="cp">?></span>
|
||||
</code></pre></div></div>
|
||||
<p>(2018.11.12更新:增加了今日新闻)
|
||||
(2018.11.13更新:限制新闻条数为前20条)</p>
|
||||
<h1 id="后记">
|
||||
|
||||
|
||||
<a href="#后记"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 后记
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
<p>说实话,我更擅长用Linux Shell解决这种问题,可惜网上好像没有免费的云主机,听说Travis-CI好像也能搞这个事情,但是说实话,我英语并不是很好,让我看懂短一点的文档还可以,太长的就算了…… </p><p>
|
||||
但我还是努力的使用Travis-CI解决了这个问题,链接:<a href="https://mayx.tk/">Mayx日报</a>
|
||||
对了,运营商自己带的邮箱可以设定短信提醒,所以也可以搞成给手机发短信的形式,每天给自己发一条天气预报……那么这样的话,就把天气预报里的城市换成自己的城市吧! </p><p>
|
||||
如果没有收到邮件,去垃圾邮件找找吧,然后把邮件地址设为白名单。 </p><p>
|
||||
如果谁想试试这个功能,可以在下面给我留言,我在验证通过后会把你加到我的服务器里面的。</p></main>
|
||||
|
||||
|
||||
<small style="display: block">tags: <a rel="category tag" class="p-category" href="/search.html?keyword=%E5%85%8D%E8%B4%B9"><em>免费</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=%E9%82%AE%E4%BB%B6"><em>邮件</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=%E6%97%A5%E6%8A%A5"><em>日报</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=%E5%BF%83%E5%BE%97"><em>心得</em></a> <span style="float: right;"><a href="https://gitlab.com/mayx/mayx.gitlab.io/tree/master/_posts/2018-11-10-email-sender.md">查看原始文件</a></span></small>
|
||||
|
||||
|
||||
<h4 style="border-bottom: 1px solid #e5e5e5;margin: 2em 0 5px;">推荐文章</h4>
|
||||
<p id="suggest-container">Loading...</p>
|
||||
<script>
|
||||
var suggest = $("#suggest-container");
|
||||
$.get(BlogAPI + "/suggest?id=/2018/11/10/email-sender.html&update=" + lastUpdated.valueOf(), function (data) {
|
||||
if (data.length) {
|
||||
getSearchJSON(function (search) {
|
||||
suggest.empty();
|
||||
var searchMap = {};
|
||||
for (var i = 0; i < search.length; i++) {
|
||||
searchMap[search[i].url] = search[i];
|
||||
}
|
||||
|
||||
var tooltip = $('<div class="content-tooltip"></div>').appendTo('body').hide();
|
||||
for (var j = 0; j < data.length; j++) {
|
||||
var item = searchMap[data[j].id];
|
||||
if (item) {
|
||||
var link = $('<a href="' + item.url + '">' + item.title + '</a>');
|
||||
var contentPreview = item.content.substring(0, 100);
|
||||
if (item.content.length > 100) {
|
||||
contentPreview += "……";
|
||||
}
|
||||
link.hover(
|
||||
function(e) {
|
||||
tooltip.text($(this).data('content'))
|
||||
.css({
|
||||
top: e.pageY + 10,
|
||||
left: e.pageX + 10
|
||||
})
|
||||
.show();
|
||||
},
|
||||
function() {
|
||||
tooltip.hide();
|
||||
}
|
||||
).mousemove(function(e) {
|
||||
tooltip.css({
|
||||
top: e.pageY + 10,
|
||||
left: e.pageX + 10
|
||||
});
|
||||
}).data('content', contentPreview);
|
||||
|
||||
suggest.append(link);
|
||||
suggest.append(' - ' + item.date + '<br />');
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
suggest.html("暂无推荐文章……");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<br />
|
||||
<div class="pagination">
|
||||
|
||||
<span class="prev">
|
||||
<a href="/2018/11/04/mayx-think.html">
|
||||
上一篇:Mayx的创想
|
||||
</a>
|
||||
</span>
|
||||
|
||||
<br />
|
||||
|
||||
<span class="next">
|
||||
<a href="/2018/12/02/freenet.html">
|
||||
下一篇:对网络免费资源的感想
|
||||
</a>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!--[if !IE]> -->
|
||||
<link rel="stylesheet" href="/assets/css/gitalk.css">
|
||||
<script src="/assets/js/gitalk.min.js"></script>
|
||||
|
||||
<div id="gitalk-container"></div>
|
||||
|
||||
<script>
|
||||
var gitalk = new Gitalk({
|
||||
clientID: '36557aec4c3cb04f7ac6',
|
||||
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
|
||||
repo: 'mabbs.github.io',
|
||||
owner: 'Mabbs',
|
||||
admin: ['Mabbs'],
|
||||
id: '/2018/11/10/email-sender', // Ensure uniqueness and length less than 50
|
||||
distractionFreeMode: false, // Facebook-like distraction free mode
|
||||
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
|
||||
})
|
||||
gitalk.render('gitalk-container')
|
||||
</script>
|
||||
<!-- <![endif]-->
|
||||
|
||||
</section>
|
||||
<!--[if !IE]> -->
|
||||
<div id="landlord" style="left:5px;bottom:0px;">
|
||||
<div class="message" style="opacity:0"></div>
|
||||
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
|
||||
<div class="live_talk_input_body">
|
||||
<form id="live_talk_input_form">
|
||||
<div class="live_talk_input_name_body" >
|
||||
<input type="checkbox" id="load_this" />
|
||||
<input type="hidden" id="post_id" value="/2018/11/10/email-sender.html" />
|
||||
<label for="load_this">
|
||||
<span style="font-size: 11px; color: #fff;"> 想问这篇文章</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="live_talk_input_text_body">
|
||||
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?" />
|
||||
<button type="submit" class="live_talk_send_btn" id="talk_send">发送</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<input name="live_talk" id="live_talk" value="1" type="hidden" />
|
||||
<div class="live_ico_box" style="display:none;">
|
||||
<div class="live_ico_item type_info" id="showInfoBtn"></div>
|
||||
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
|
||||
<div class="live_ico_item type_music" id="musicButton"></div>
|
||||
<div class="live_ico_item type_youdu" id="youduButton"></div>
|
||||
<div class="live_ico_item type_quit" id="hideButton"></div>
|
||||
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
|
||||
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
|
||||
<input id="duType" value="douqilai" type="hidden" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="open_live2d">召唤伊斯特瓦尔</div>
|
||||
<!-- <![endif]-->
|
||||
<footer>
|
||||
<p>
|
||||
<small>Made with ❤ by Mayx<br />Last updated at 2026-02-11 17:55:00<br /> 总字数:617672 - 文章数:179 - <a href="/atom.xml" >Atom</a> - <a href="/README.html" >About</a></small>
|
||||
</p>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="/assets/js/scale.fix.js"></script>
|
||||
<!--[if !IE]> -->
|
||||
<script src="/assets/js/main_new.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
|
||||
<script src="/Live2dHistoire/live2d/js/message.js"></script>
|
||||
<!-- <![endif]-->
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user