Author: jpuyy

  • email的html排版

    用程序生成好一个邮件标题和内容,之后想要完美的在收件箱里接收,需要编写针对于邮件的html。

    美观可以放在第二位,但是需要让邮箱认出是html来,否则内容会以原码显示。

    在邮件headers中加入正确的Content-type和charset即可。

    email html中的布局基本是用table,css样式尽量直接写在html标签里,以下分别是用原生php和php-mail(SMTP)来发邮件。

    <?php
    
    $message='
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <table>
    <tr>
    <th>three days forcast</th>
    </tr>
    </table>
    </body>
    </html>';
    
    $to = '[email protected]';
    
    $subject =send mail using php;
    $from = "[email protected]";
    $headers = "From: $from\n";
    $headers .= "Reply-To: $from\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1";
    
    mail($to, $subject, $message,$headers);
    echo "Mail Sent.";
    
    ?>

    使用pear mail(SMTP)发送邮件

    <?php
    
    //require apt-get install php-mail, reference: http://php.net/manual/en/function.mail.php
    include("Mail.php");
    
    $message='
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <table>
    <tr>
    <th>three days forcast</th>
    </tr>
    </table>
    </body>
    </html>';
    
    $to = '[email protected]';
    
    $subject =send mail using php;
    
    $headers["From"] = "[email protected]";
    $headers["TO"] = "[email protected]";
    $headers["Subject"] = "$subject";
    $headers["MIME-Version"] = "1.0";
    $headers["Content-type"] = "text/html";
    $headers["charset"] = "iso-8859-1";
    
    $params["host"] = "smtp.163.com";
    $params["port"] = "25";
    $params["auth"] = true;
    $params["username"] = "[email protected]";
    $params["password"] = "yourpassword";
    
    $mail_object = & Mail::factory("smtp", $params);
    
    $mail_object->send($to, $headers, $message);
    
    //echo $message;
    echo "Mail Sent.";
    
    ?>

    参考:http://johndoesdesign.com/blog/2012/php/getting-your-php-html-email-to-render-in-gmail/

    http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

  • 娱乐至死笔记

    书中介绍了印刷,电视与文化的关系,以及人们的生活受电视这种媒介的巨大的影响。对比了奥威尔与赫胥黎对人类社会的可怕预言。
    只摘了几句话:
        奥威尔警告人们将会受到外来压迫的奴役,而赫胥黎则认为,人们失去自由、成功和历史并不是“老大哥”之过。在他看来,人们会渐渐爱上压迫,崇拜那些使他们丧失思考能力的工业技术。
        我们的文化对于电视认识论的适应非常彻底,我们已经完全接受了电视对于真理、知识和现实的定义,无聊的东西在我们眼里充满的意义,语无伦次变得合情合理。
        人们感到痛苦的不是他们用笑声代替了思考,而是他们不知道自己为什么笑以及为什么不再思考。
  • mysql将一张表移动到另外的库中

    现在有db1.table1表,现在要将它放到db2中,最简的方法是mysqldump导出,再导入。

    另一种方法是

    create table db2.table2 as select * from db1.table1;

    结构,数据内容一致,但是不会复制索引以及外键

    要保持完全一致,则两步操作,先复制表结构,再复制数据

    create table db2.table2 like db1.table1;
    insert into db2.table2 select * from db1.table1;
  • linux nice命令

    nice命令用于调整程序的优先级,在top命令中看到的第三列 NI 。

    系统的优先级范围为-20(最高)至19(最低),默认优先级为0,只有root用户才可以指定0以下的优先级。

    如将mysqld以-3优先级,则运行

    nice -n -3 /usr/sbin/mysqld &

    top检查

    PID  USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
    30128 mysql 17 -3 665m 42m 6740 S 0 0.5 0:00.09 mysqld

    真正的优先级是按PR+NI的值,这个值越小,越优先。

    如果-n后不加具体级别的话,默认是10,即以10 nice值运行。

    上面是开始执行命令的时候指定nice值,如果程序已经在运行,则使用renice来调整nice值。

    如上面mysqld运行的nice值是-3,进程号是30128,现在指定为-11

    # renice -11 -p 30128
    30128 (process ID) old priority -3, new priority -11

    在top中调整nice值很是方便,进入top后按”r”–>输入进程PID–>输入nice值,如

    PID to renice:30128(回车)
    Renice PID 30128 to value: -11(nice值)

     

  • vim打开光标下的文件

    当光标在某文件之上时,可以按如下操作直接打开该文件

    打开文件在当前窗口open in the same window (“goto file”)

    gf

    打开文件在新的窗口open in a new window (Ctrl-w f)

    <c-w>f

    打开文件在新的tab

    <c-w>gf open in a new tab (Ctrl-w gf)

    参考:

    http://vim.wikia.com/wiki/Open_file_under_cursor

  • vim tabs

    文本编辑器基本都有tab同时编辑多个文件,vim也不例外。甚至功能更强大。

    以例子来说vim tab的使用方法,nginx的配置文件很典型,就以它为例。

    同时编辑几个文件,可以这样,注意-p参数,这是以tab显示的关键

    vim -p nginx.conf fastcgi_params win-utf

    这时会显示3个标签

    如果这时要新加一个标签,输入

    :tabedit 简写 :tabe

    如果要关闭当前标签,除了可以常用的vim退出:wq外,可以使用

    :tabclose 简写 :tabc

    显示多个tab的列表

    :tabs

    标签的移动

    :tabm 0       move current tab to first 移动到第一个
    :tabm         move current tab to last 移动到最后一个
    :tabm {i}     move current tab to position i+1 向后移动i+1

    标签的切换

    :tabn         go to next tab 跳到下一个tab
    :tabp         go to previous tab 跳到上一个tab
    :tabfirst     go to first tab 跳到最前
    :tablast      go to last tab 跳到最后

    上面的操作太慢,在normal模式

    gt            go to next tab 跳到下一个tab
    gT            go to previous tab 跳到上一个tab
    {i}gt         go to tab in position i 跳到第i个tab

    使用快捷键则到为快速

    Ctrl-PgDn     go to next tab 跳到下一个tab
    Ctrl-PgUp     go to previous tab 跳到上一个tab

    当然可以在vimrc中规定更多的快捷键取代上面的操作。可以参考下面的链接。

    http://vim.wikia.com/wiki/Using_tab_pages