我正在使用 Google Scripts 来获取电子邮件的正文。我试图让它只保存包含在普通 YouTube 电子邮件中的链接,它会通知您来自新用户的上传。我想,使用 JavaScript 仅保存单击电子邮件中包含的图像时所遵循的链接。下面是电子邮件部分外观的示例:
邮件内容是这样的:
<div>
<table width="620" cellspacing="0" cellpadding="0" border="0" align="center"><tr><td bgcolor="#F0F0F0">
<table width="578" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td height="16"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="http://s.ytimg.com/yt/img/email/digest/email_header.png">
</td>
</tr>
<tr>
<td height="16"></td>
</tr>
<tr>
<td align="left" bgcolor="#FFFFFF">
<div style="border-style:solid;border-width:1px;border-color:#cccccc">
<table width="578" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td height="22" colspan="3"></td>
</tr>
<tr>
<td width="40"></td>
<td width="498">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td bgcolor="#FFFFFF" align="left" width="50">
<img src="https://i.ytimg.com/i/N5jZlcpSP00e_zShDw9EfQ/1.jpg" height="50" width="50">
</td>
<td width="16"></td>
<td>
<div style="font-family:arial,Arial,sans-serif;font-size:18px;color:#333333;line-height:24px" height="59">
FatalDubstepHD has uploaded <b>Empressto - No Love [Dubstep]</b>.
</div>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0">
<tr><td height="22"></td></tr>
</table>
<div style="border-bottom:1px solid #e1e1e1"></div>
<table cellspacing="0" cellpadding="0" border="0">
<tr><td height="22"></td></tr>
</table>
<table cellspacing="0" cellpadding="0" border="0" style="width:480px;margin:0 9px">
<tr>
<td>
<a href="http://www.youtube.com/watch?v=zTYri0ei45Q&feature=em-uploademail" style="text-decoration:none;display:block" class="nonplayable" target="_blank">
<img src="http://i2.ytimg.com/vi/zTYri0ei45Q/hqdefault.jpg" height="360" width="480" border="0">
</a>
</td>
</tr>
<tr><td height="16"></td>
</tr>
<tr>
<td width="480">
<a href="http://www.youtube.com/watch?v=zTYri0ei45Q&feature=em-uploademail" style="text-decoration:none" target="_blank">
<div style="font-family:arial,Arial,sans-serif;font-size:15px;color:#333333;line-height:20px;font-weight:bold">
Empressto - No Love [Dubstep]
</div>
</a>
<div style="font-family:arial,Arial,sans-serif;font-size:13px;color:#999999;line-height:20px">
by
<a href="http://www.youtube.com/user/FatalDubstepHD?feature=em-uploademail" style="font-size:13px;color:#999999;line-height:20px;text-decoration:none" target="_blank">FatalDubstepHD</a>
</div>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0">
<tr><td height="16"></td></tr>
</table>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="498">
<div style="font-family:arial,Arial,sans-serif;font-size:13px;color:#333333;line-height:20px">
● Free Download<br><a href="https://soundcloud.com/empresstoro/empressto-no-love" target="_blank">https://soundcloud.com/<WBR>empresstoro/empressto-no-love</a><br><br>● Empressto <br><a href="http://www.facebook.com/EmpreSSto" target="_blank">http://www.facebook.com/<WBR>EmpreSSto</a><br><a href="http://www.twitter.com/Empressto" target="_blank">http://www.twitter.com/<WBR>Empressto</a><br><a href="http://www.youtube.com/user/TheOfficialEmpressto" target="_blank">http://www.youtube.com/user/<WBR>TheOfficialEmpressto</a><br><br>● Fatal Dubstep<br><a href="http://www.facebook.com/FatalMusicUK" target="_blank">http://www.facebook.com/<WBR>FatalMusicUK</a><br><a href="http://www.twitter.com/FatalMusicUK" target="_blank">http://www.twitter.com/<WBR>FatalMusicUK</a><br><br>● Owner Of Fatal<br><a href="http://www.twitter.com/Mihalis_Costa" target="_blank">http://www.twitter.com/<WBR>Mihalis_Costa</a><br><br>● Contact Email/Submit Music<br><a href="mailto:fatalmusicsubmission@gmail.com" target="_blank">fatalmusicsubmission@gmail.com</a>
</div>
</td>
</tr>
</table>
</td>
<td width="40"></td>
</tr>
<tr>
<td height="22" colspan="3"></td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td height="16"></td>
</tr>
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td width="40"></td>
<td width="498">
<div style="color:#999999;line-height:14px;font-size:11px;font-family:arial,Arial,sans-serif">
You were sent this email because you chose to receive updates about new videos uploaded by <a href="http://www.youtube.com/user/FatalDubstepHD?feature=em-uploademail" style="text-decoration:none;color:#1c62b9" target="_blank">FatalDubstepHD</a>. If you don't want these updates anymore, you can change your preferences by visiting the <a href="http://www.youtube.com/subscription_manager" style="text-decoration:none;color:#1c62b9" target="_blank">subscription manager</a>.
</div>
</td>
<td width="40"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="16"></td>
</tr>
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td width="40"></td>
<td width="498">
<div style="color:#999999;font-size:11px;line-height:14px;font-family:arial,Arial,sans-serif">
©2013 YouTube, LLC 901 Cherry Ave, San Bruno, CA 94066
</div>
</td>
<td width="40"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="22"></td>
</tr>
</table>
</td></tr></table>
</div>
这里的问题是,我如何从这样的电子邮件中过滤掉 url,而且看起来文本3D
被添加到 url,这使得 url 无效,所以我还需要从网址。关于我如何做到这一点的任何想法?
编辑:
这是我正在使用的代码,它缺少解析数据:
function processInbox() {
// get all threads in inbox
var label = GmailApp.getUserLabelByName("Social/YouTube/Dubstep");
var doneLabel = GmailApp.getUserLabelByName("Social/YouTube/Dubstep (added)");
var messages = label.getThreads();
var max = Math.min(messages.length,1);
for( var i = 0; i < max; ++i ) {
var email = messages[i].getMessages()[0];
var contents = email.getBody();
//PARSE HERE
var xml = Xml.parse(contents,true);
Logger.log(xml);
GmailApp.sendEmail('MY EMAIL', 'Xml Contents', Logger.getLog());
//messages[i].markRead();
//messages[i].removeLabel(label).addLabel(doneLabel);
}
};
EDIT2:新代码:
function processInbox() {
// get all threads in inbox
var label = GmailApp.getUserLabelByName("Social/YouTube/Dubstep");
var doneLabel = GmailApp.getUserLabelByName("Social/YouTube/Dubstep (added)");
var messages = label.getThreads();
var max = Math.min(messages.length,5);
for( var i = 0; i < max; ++i ) {
var email = messages[i].getMessages()[0];
var contents = email.getBody();
var st = contents.indexOf('<a href="http://www.youtube.com/watch?v=');
var str1 = contents.substr(st+9,80);
var end = str1.indexOf('&');
var link = str1.substring(0,end);
Logger.log(link);
GmailApp.sendEmail('EMAIL', 'Xml Contents', Logger.getLog());
Logger.clear();
//messages[i].markRead();
//messages[i].removeLabel(label).addLabel(doneLabel);
}