mailto: откройте Google Chrome в Ubuntu с уведомлением MSG - PullRequest
0 голосов
/ 03 февраля 2011

Я пишу небольшой скрипт для открытия почтовых ссылок с веб-страниц в небольшом окне Google Chrome:

пока у меня есть это:

#!/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`"

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Если вы напишите это так, это не оболочка:)

Можете ли вы предоставить пример строки для использования регулярного выражения в?По сути, это будет вызов sed, который сократит все, кроме адреса.Хотя почтовый адрес в соответствии с RFC может быть довольно сложным, поэтому простой подход будет работать в большинстве случаев, но не каждый раз.

Попробуйте начать с чего-то вроде

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

Так что вы можете использовать его так:

str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')
0 голосов
/ 15 августа 2011

Отлично!Я получил ваш скрипт и внес некоторые изменения, чтобы он работал лучше, посмотрите:

#!/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"
...