今天察看了一下移动硬盘中的照片,发现照片已经有5G左右的大小了,脑子里突然闪过一个念头,要是硬盘坏掉了,我的照片怎么办?备份啊!再买一个硬
盘?网络上有免费的啊!现在的免费邮件大都是5G以上的,gmail已经6.6G了!为什么不用啊?放在网络上,随时,随地都可以查看自己的照片,又安全、又
方便。
首先选择哪一个免费邮件系统呢?比较了hotmail和gmail(yahoo我不怎么用),我决定还是使用gmail。原因第一是比较符合我的照片总大小,6.6G,最主要
的原因是它的照片预览功能好于hotmail。别人发给我的照片如果在附件里面的话在hotmail上要下载才能看,而gmail里面则直接生成小尺寸的照片嵌在邮件
里面非常方便。另外邮件标签用起来比文件夹更方便。所以选择gmail。
申请一个免费的gmail信箱先,具体是啥就不说了,省得搞来一对垃圾邮件。
下面的问题,怎么把这些照片传上去?
最苯的方法,在gmail里面新建邮件,然后加入附件,然后存储为draft,然后加上标签!gmail里面有一个功能不好,就是每一个附件要单独选择,这样我的
几千张照片要一张张添加的话,还不如杀了我呢!
另一个办法就是把这些照片分批地根据时间、事件、地点等等用邮件一封封发过去,然后加入标签,这样也便于以后的查看。现在gmail支持20MB的附件,
1MB左右的照片可以十几张一组。基本符合我的要求。
下面从哪里,怎样发?从家里不行,我用的adsl,上传速度只有640k,这要搞到什么时候啊?
嘿嘿嘿,从单位吧,哪里带宽大大地!
用什么发呢?最简单的用单位的outlook,可以一次选择多个附件添加入邮件里面,发送就可以了。不过最大的问题是,这样的话,邮件会保存在sent item
里面,想象下我的5G邮件都发走了话,我的邮箱会变得多大?当然可以发完就删掉,不过我们邮件服务器的设置是保存删除邮件一个月,也就是说怎样一个
月内也会把邮件服务器搞大5GB。备份空间又是问题了!用isp的服务器来转发?邮件大小限制10M,gmail的20M浪费了。
于是,我还是用powershell脚本来发。
用脚本最主要的问题是要一封信发多个附件。
下面我来给出我的脚本
- # 邮件标题
- $title="2005年黄山游"
- # 邮件内容,写点关于照片的文字什么的
- $body="啊!黄山多美丽,其实没去过!嘻嘻"
- # 邮件服务器名或ip
- $computer="emailserver"
- #发件人
- $from="照片上传者<[email]mwpq@abcde.com[/email]>"
- #收件地址,就是你申请的gmail地址
- $to="photo1234@gmail.com"
- #照片存放文件夹,把一次要发的照片存放在一个目录下,发完删掉,然后加入新的照片。注意尺寸不要超过20MB。这里放到c:\tttt下面
- $filenames= dir c:\tttt
- #下面照抄,不要多问
- $smtp = new-Object System.Net.Mail.SmtpClient($computer)
- $emailMsg = new-Object System.Net.Mail.MailMessage($from,$to, $title, $body)
- foreach($filename in $filenames)
- {
- $attachment = new-Object System.Net.Mail.Attachment($filename.fullname)
- $emailMsg.Attachments.Add($attachment)
- }
- $smtp.Send($emailMsg)
复制代码
呵呵,完成了。把这段代码根据你的情况改动后存为send.ps1,然后就可以用了。
每次发邮件可以更改$title,$body的内容,然后把照片放到c:\tttt里面。
不过还有几点注意事项,在powershell下面邮件不会立即就发走,要等一会,解决办法是关闭powershell,邮件立即就走了。或者干脆写一个批处理来运行上面的send.ps1脚本。例如把send.ps1存在c:\scripts下面。然后批处理写成 powershell.exe "c:\scripts\send.ps1" 就可以了。
另外根据你的邮件服务器设置,有可能你要在上面改动sending的最大邮件尺寸,以及把这台计算机加入allow relay的列表中,具体怎么做,不属于这篇文章讨论的范围了!
http://bbs.winos.cn/thread-32288-1-1.html |