【问题标题】:mailto: open google chrome in Ubuntu with notify msgmailto:在 Ubuntu 中使用通知消息打开 google chrome
【发布时间】:2011-02-03 15:00:34
【问题描述】:

我正在编写一个小脚本来从 google chrome 小应用程序窗口中的网页打开 mailto 链接:

到目前为止我有这个:

#!/bin/sh

notify-send "Opening Gmail" "`echo $1`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

效果很好 - 但是我想将电子邮件收件人添加到通知中 - 类似这样 - 但我需要一个正则表达式来从 mailto 链接获取电子邮件 - 这可能包含主题等..

#!/bin/sh

$str = preg_replace('#<a.+?href="mailto:(.*?)".+?</a>#', "$1", $str);
notify-send "Opening Gmail" "`echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

这不起作用..

有什么想法吗?

更新:这是工作代码:

#!/bin/sh

str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')
notify-send "Opening Gmail" "to: `echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

【问题讨论】:

    标签: google-chrome ubuntu mailto shebang


    【解决方案1】:

    这样写,就不是shell了:)

    你能提供使用正则表达式的示例字符串吗?基本上它将是 sed 调用,这将削减除地址之外的所有内容。虽然根据 RFC 的邮件地址可能相当复杂,所以简单的方法在大多数情况下都可以使用,但并非每次都有效。

    尝试从类似的东西开始

    sed 's/.*mailto:\([^?]*\)?.*/\1/'
    

    所以你可能想这样使用它:

    str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')
    

    【讨论】:

    • 可以是网站中的任何链接 - 例如:mailto:email@domain.com?subject=Mail Subject
    【解决方案2】:

    太棒了!我得到了你的脚本并做了一些改变以更好地工作,看:

    #!/bin/sh
    
    str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')
    notify-send "Abrindo Gmail" "to: `echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
    chromium-browser "https://mail.google.com/mail/?view=cm&fs=1&tf=1&source=mailto&to=$1"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 2012-01-22
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      相关资源
      最近更新 更多