Как заставить Apple Mail.app использовать прокси-сервер SOCKS, настроенный файлом PAC

По некоторым причинам мне приходится использовать SOCKS-прокси для доступа к Gmail, иначе соединение будет заблокировано.

Я попробовал глобальный агент SOCKS, и Mail.app работал нормально. Тем не менее, когда я решил использовать PAC-файл для автоматической настройки системного агента, Mail.app не смог получить доступ к Gmail.

Мои вопросы:

  1. Можно ли установить прокси в Mail.app? То есть Mail.app передает свой веб-трафик на SOCKS-прокси, в то время как другие приложения не будут затронуты.
  2. Если ответ на первый вопрос НЕТ, то как изменить мой PAC-файл, чтобы Mail.app мог получить доступ к Gmail?

Любые подсказки или предложения будут оценены.


Больше информации:

Версия ОС: OS X 10.9.5

Версия Mail.app: 7.3 (1878.6)

PAC-файл:

var domains = {
  "l.google.com": 1,
  "gmail-imap.l.google.com": 1,
  "googlepages.com": 1,  
  "googlesile.com": 1, 
  "google.co.jp": 1, 
  "gaeproxy.googlecode.com": 1, 
  "sshtunnel.googlecode.com": 1, 
  "googleusercontent.com": 1, 
  "goagent.googlecode.com": 1, 
  "google.com": 1, 
  "googlevideo.com": 1, 
  "google.com.hk": 1, 
  "tuite.googlecode.com": 1, 
  "gfwinterceptor.googlecode.com": 1, 
  "gtap.googlecode.com": 1, 
  "googleapis.com": 1
};

var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;";

var direct = 'DIRECT;';

function FindProxyForURL(url, host) {
    var lastPos;
    do {
        if (domains.hasOwnProperty(host)) {
            return proxy;
        }
        lastPos = host.indexOf('.') + 1;
        host = host.slice(lastPos);
    } while (lastPos >= 1);
    return direct;
}
точно такая же проблема здесь. Похоже, mail.app не взаимодействует с pac-файлом. Но в моем случае я сделал этот тест: перед тем, как открыть mail.app, у меня есть окно терминала, показывающее журнал сервера, который обслуживает мой pac-файл, и я вижу, что он загружает pac. Но не доставляет трафик на прокси. Если я использую Настройки сети-> Socks, то это работает. Вы решили это?

Ответы (2)

Попробуйте перейти в Network Preferences , выберите сеть, которую хотите установить, и перейдите в Advanced -> Proxies . Затем установите автоматическую настройку прокси-сервера и прокси-сервер SOCKS. Меня устраивает.

К вашему сведению, если вы используете Shadowsocks, PAC, вероятно, будет http://127.0.0.1:8090/proxy.pac.

Спасибо за ответ, но я пробовал это до того, как опубликовал этот вопрос. Однако, к сожалению, файлу pac не удалось передать трафик Apple Mail в туннель socks. Действительно, установка прокси-сервера PAC и Socks помогла бы, но я боюсь, что это должно быть только из-за прокси-сервера Socks. Тем не менее, socks-прокси получают весь веб-трафик, устанавливая Socks Proxy в Network Pref., чего я не хочу.

Я знаю, что эта ветка устарела, но у меня была та же проблема благодаря отличному брандмауэру. Я не хотел направлять ВЕСЬ свой трафик через прокси-сервер, поэтому установка этого параметра в сетевых настройках была невозможна.

Я думал, что проблема связана с приложением «Почта» на Mac, но на самом деле это был просто доступ к серверам gmail IMAP и SMTP.

По какой-то причине основной список GFW не включает их. Все, что вам нужно сделать, это добавить эти две строки в ваш PAC-файл:

||imap.gmail.com^ ||smtp.gmail.com^

Как только я их добавил, почтовое приложение работало с gmail. Я надеюсь, что это работает для вас!

Ух ты! Спасибо за Вашу информацию! Я попробую это позже этой ночью!
Дайте мне знать, если это сработает! Обновление: у меня снова начались проблемы, поэтому я переключился на Outlook. У Outlook не было никаких проблем, и он всегда получает мои сообщения Gmail. Я думаю, что само приложение Mail делает что-то странное.
Жаль, что в списке G нет этих двух строк.