2019独角兽企业重金招聘Python工程师标准>>>

写这个插件的最初的原因是实验室的网络无法同步Chrome书签,同时有时候需要与宿舍的笔记本同步一些文本信息,所以琢磨自己写一个同步插件。

但是偌大一个教育网,竟然找不到一个可用的在线存储服务,金山快盘已经叫嚣要开放API很久了,但是就是没见到官方的API手册。最后想来想去,干脆用邮件算了,最终的 程序结构如下:

Chrome插件的开发参考了ClickTrans[1]的开发,源码可以在www.bradbit.com下载,使用的时候在浏览器里右键,就会有Save选项,如果选择了文本,就把文本发送到邮件,否则发送当前链接地址。具体实现不解释,可以参考代码,简单说下Chrome插件的一些东东。

Chrome插件实际上是一组JS的脚本+配置文件,可能还有Html的页面,Chrome本身提供一些API接口,剩下的就通过JS来操作页面元素实现。Chrome插件里比较重要的两个东东,一个是页面,包括了BackGround页,Popup页(Popup页又分Page_Action和Browser_Action),另一个是向页面注入的JS脚本。因为插件自己的脚本并不能直接操作Web页,所以必须要向页面注入一个脚本才能进行页面操作。Chrome的API可以通过这里[2]查询,自己的脚本和注入脚本之间的通信参见ClickTrans[1]的文章。

最后不得不提的一个东西,JS本身是无法实现SMTP协议的,或者说没人做,需要发送邮件的时候必须借助其他Web语言,通过服务的形式调用,我是写了一个简单的PHP响应请求并发送邮件的程序,具体代码如下,重要的不是代码,而是PHP下mail的配置,详见配置win下的sendmail[3]

<?phpif(isset($_GET['url']))
{
$url=$_GET['url'];
$to='邮箱';if (mail($to, $url, $url))
{echo "success!";
}else {echo "fail";
}
}?>

Chrome插件的代码里固定了一个邮件服务的地址,localhost/test/send.php,如果需要请自行更改然后打包,有空再做成可配置的,然后放到SinaAppEngine上,这样就方便访问了,否则总得本地起服务,太费劲了。

参考文献

[1] 从无到有制作Chrome扩展:ClickTrans,

http://www.jtben.com/document/800426

[2] Chrome扩展API参考,http://code.google.com/chrome/extensions/api_index.html

[3] php mail函数在win下的使用,以及配置win下的sendmail

http://www.xuandun.net/65/

转载于:https://my.oschina.net/sdqxcxh/blog/30494

chrome自动发送邮件插件相关推荐

  1. 对Chrome自动发送邮件插件的改进

    2019独角兽企业重金招聘Python工程师标准>>> 针对之前那个插件存在的一些问题,这两天又做了一点改进.主要的功能改进包括: 1 如果直接点击右键,那么获取当前网页的链接,然后 ...

  2. 最新版Google Chrome 自动加载flash插件的方法

    我们在用Selenium做自动化测试时,有时候需要浏览器自动加载flash插件,69以前的谷歌浏览器,可以通过加载属性的方法自动运行flash插件,如下: prefs={"profile.m ...

  3. 【Chrome插件开发作品】用户信息及验证码自动填充插件

    GitHub链接 文章目录 作品演示 Never mind插件概述 Nerver Mind插件功能 Never Mind插件涉及技术 Never Mind技术相关介绍 1. chrome浏览器插件开发 ...

  4. jQuery图片自动添加水印插件

    JS脚本(jQuery)为图片加水印效果预览: http://hovertree.com/texiao/jquery/94/ 本功能使用HTML5实现,可为图片加上文字水印,可设置文字,设置颜色,位置 ...

  5. 百度云网盘不限速下载之Google Chrome浏览器+SwitchyOmega插件

    众所周知,百度云的用户量越来越多啦,那么随之而来的问题也来了,刚开始用户量不是特别多的时候下载速度是100多kb/s,然而,现在呢???10几Kb/s!!!慢如蜗牛的速度啊. pandownload已 ...

  6. 谷歌chrome浏览器 - 关于插件,这一篇就够了

    这次是干货,有多干? 正文共:5879字87图 完了,怕你们看不下去,我特意整理了PDF给大家,传送地址: https://github.com/ithuangqing/Chrome-take-off ...

  7. Chrome常见黑客插件及用法

    目录   0x00  Web Developer(网页开发者) 0x01 Firebug Lite for Google Chrome (Firebug精简版) 0x02 d3coder (decod ...

  8. 使用Excel和OutLook实现自动发送邮件

    参考我的资源: https://download.csdn.net/download/paul50060049/11805973 问题的产生 我们在平时工作中可能会遇到要批量发送邮件的工作,例如财务部 ...

  9. Chrome好用插件推荐

    Chrome好用插件推荐 文章目录 Chrome好用插件推荐 首先要打开开发者模式 插件下载 把下载好的crx文件拖到扩展程序页面就能安装 AdBlock - 最佳广告拦截工具 Falcon Prox ...

  10. 货比三家——Chrome 购物比价插件推荐

    本文为大家推荐两款Chrome购物辅助插件,帮助你在购物时货比三家. 1.  有道购物助手 该扩展由网易有道推出,可在购物网站的商品页面中自动显示京东.卓越.当当等各大网上商城报价,其主要目的是帮用户 ...

最新文章

  1. 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
  2. 【示例】C语言中利用数组存放函数指针
  3. 安装完MAVEN后输入mvn -v, 提示不是内部命令的问题
  4. python pillow环境_Python环境Pillow( PIL )图像处理工具使用解析
  5. 深度学习之tensorflow环境搭建
  6. rcp rapido_Rapido使用数据改善乘车调度
  7. 他说:越成熟,越觉得自己平庸
  8. ROS报错:/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:119:9: error: ‘YOU_MIXED_DIFFERENT
  9. UED、UCD、UE、UI、交互设计概念
  10. 如何通过反射创建对象
  11. 安装oracle12c之前,centos7安装oracle12c数据库的坑
  12. 华为怎么删掉android,华为手机怎么卸载软件 华为手机卸载应用软件教程
  13. 分享在工作生活中更好地运用思维导图使用攻略
  14. 访问 URL 报错 500 Internal Privoxy Error
  15. Discuz仿魔客吧模板/素材资源站模板/包含DIY文件
  16. VMware Workstation 12 Pro 安装 mac最新系统版本10.12.3
  17. 新站如何快速做SEO优化,获收录和排名
  18. tps协议和onvif协议_onvif协议是什么
  19. iMAC——全新重装Mac系统
  20. 【深入理解TcaplusDB技术】入门Tcaplus SQL Driver

热门文章

  1. linux ssh升级回退,Linux-SSH升级及回退方案
  2. 再探Linux内核write系统调用操作的原子性
  3. linux环境变量如何设置
  4. android_get_control_socket 获取 UNIX 域套接字 FD
  5. 深入解读Linux进程调度系列(3)——调度的执行过程
  6. Linux内核部件分析 记录生命周期的kref
  7. numpy与tensorflow中的广播(broadcast)机制
  8. shell判断文件与字符串
  9. NP-Hard问题浅谈
  10. 传递集合对象_【Java学习笔记(九)】之集合的要点介绍