SMTP: Orijinali göndermeden birini CC'ye göndermek mümkün mü?


24

Aslında bunu düşünmeye başladım çünkü CC'ye göndermem gereken bir e-postadaki birini unuttum ve başkalarına çift göndermeden bir kopyasını almasını istedim. Sonunda ona yönlendirdim, ama hala merak ediyorum.

SMTP'de CC ve BCC listeleri nerede tutuluyor? SMTP sunucusunu kontrol etmeniz mi gerekiyor yoksa istemci tarafında yapılabilir mi?

Teşekkürler!

email  smtp 

5
Bu neden indiriliyor? Ne de olsa ilginç bir soru ...

5
@Achilles - Bunun mümkün olup olmadığının detayları KESİNLİKLE bir programlama sorusu IMHO'dur. RFC 2821 ve 2822'de tanımlanmıştır. Günün sonunda, tüm posta istemcileri bu tanımlara göre programlanır ve buradaki her geliştiricinin bir noktada SMTP'ye girmesi gerekebilir. Kesinlikle var.

3
LÜTFEN bunu "SuperUser'a ait" olarak kapatmak için oylamayı durdurun. OP, konuyla ilgili düşünmesini sağlayan bir e-posta gönderme eylemi olduğunu söylediğinden, asıl soru "programlama ile ilgili değil" anlamına gelmez. Bir web bağlantısına tıkladığımda başıma gelen bir http uygulama sorusu olsaydı, bu "programlama ile ilgili değil" olur mu? Hayır.

Yanıtlar:


17

Kısacası - evet, doğrudan alıcıların SMTP sunucusuna bağlanabiliyorsanız mümkündür. Rup'in cevabında belirttiği nedenlerden ötürü , bu özellikle pratik olmayabilir ve bir güvenlik duvarının arkasındaki bir ağdaysanız, 25 numaralı TCP bağlantı noktasındaki uzak bir sunucuya bağlanamayabilirsiniz.

Bunun sizin için geçerli olmadığını varsayarsak, ayrıntı burada:

Siz (bir posta istemcisi olarak), alıcının posta sunucusuna bağlandığınızda, o sunucunun umursadığı (teslimat amacıyla), içinde belirtilen alıcılardır RCPT TO:. Bkz. RFC2821 - Basit Posta Aktarım Protokolü . Alıcının türü arasında ayrım yapmaz (to :, cc: veya bcc :), sadece "sunucunuzdaki alıcının bunu aldığından emin olun" dediğinizi bilir.

Ancak, alıcının asıl posta müşterisi söz konusu olduğunda, mesajdaki tüm alıcıların kim olduğunu söyleyen mesajın başlıklarıdır. Bkz İnternet ileti biçimi - RFC2822 .

Diğer bir deyişle, TO :, CC: ve BCC: başlıkları, posta istemcisinin yararına bulunurken, gerçek dağıtım posta sunucuları ile yapılan SMTP 'konuşması' sırasında gerçekleştirilir.

Böylece, aslında, bunun gibi görünen bir SMTP sunucusuyla konuşabilirsiniz:

C:>telnet aspmx.l.google.com 25
220 mx.google.com ESMTP f70si17620845wej.110
HELO myserver.mydomain.co.uk
250 mx.google.com at your service
MAIL FROM: <test@mydomain.co.uk>
250 2.1.0 OK f70si17620845wej.110
RCPT TO: <user_i_missed_out@mydomain.co.uk>
250 2.1.5 OK f70si17620845wej.110
DATA
354  Go ahead f70si17620845wej.110
To: recipient_on_original@somewhere.com
cc: another_recipient_on_original@somewhere.com, user_i_missed_out@mydomain.co.uk
Subject: My email

Hi - this is a test
.
250 2.0.0 OK 1277401976 f70si17620845wej.110
QUIT
221 2.0.0 closing connection f70si17620845wej.110


Connection to host lost.

Net etki, user_i_missed_out@mydomain.co.ukasıl muhatap recipient_on_original@somewhere.comile asıl cc alıcısının yanı sıra, cc listesindeki e-postanın bir kopyasını almasıdır another_recipient_on_original@somewhere.com.

Ancak, aslında son iki kişinin posta sunucularına hiç bağlanmadığımız için, e-postayı ikinci kez almazlar. Ve daha önce kendilerine gönderilen postaları değiştiremediğimiz için, başka bir cc alıcısı eklediğimizi asla farketmeyecekler.


4

Ne oldu

  1. E-postayı yerel (veya İSS'nizin) SMTP sunucusuna gönderirsiniz
  2. Yerel SMTP sunucunuz alıcı listesini genişletir ve tüm alıcılar için konuşması gereken sunucuların listesini oluşturur. BCC başlığını mesajdan kaldırır.
  3. Her sunucu için bağlanır ve "X, Y alıcıları için bir e-posta var: işte mesaj başlıkları ve gövde"

yani, e-postayı 3'e enjekte edebiliyorsanız, doğrudan cevapsız CC kullanıcısının ev SMTP sunucusuna gönderin, o zaman postayı başkalarına göndermenize gerek kalmadan CC'yi teslim edebilirsiniz. Özellikle bir BCC alıcısı, onlardan hiç bahsetmeyen mesaj başlıklarını ve gövdelerini alacak (belki bir 'X-Zarf-To' başlığı hariç).

Pratik olarak, herkese göndermek çok daha kolay. Bunu verimli bir şekilde yapmak için, sahte bir alıcı listesini veya alıcının genişletme sırasında işleyeceği bir dışlama listesini, sahte bir alıcı listesini desteklemek için e-posta istemcinizi ve yerel SMTP sunucunuzu değiştirmeniz gerekir.


2

Bu problem aslında devam etmekte olan bir IETF çalışması ile çözülür: Kozmetik Karbon Kopyası . Ne yazık ki, CCC’leri uygulayan herhangi bir e-posta istemcisini tanımıyorum, çünkü taslak Nisan Şakası Günü için anlamsız bir şaka olarak kabul edilir.

Ciddiyetle, sormak istedikleriniz mümkün, çünkü çoğunlukla bir e-postanın içeriği aslında postanın SMTP katmanında kime gönderileceğini etkilemiyor. E-posta istemcileri, Kime, CC ve BCC alanlarındaki herkese posta göndermek için yazılmıştır, ancak bunu herhangi bir standartta yapmaları zorunlu değildir.

Güncelleme: Kesin olarak, bir SMTP sunucusuna posta gönderirken, gönderen, bir mesajın hangi e-posta adreslerine gönderileceğini belirtmek için RCPT komutunu kullanır. Daha sonra postanın içeriğini bir DATA komutuyla gönderir. SMTP sunucusu içeriğe bakmamalıdır. Bir iletinin CC başlık satırına bir alıcı eklemek ve SMPT sunucusundan yalnızca bu adrese göndermesini istemek mümkün olmalıdır.


0

Bunu doğru anlarsam, yapmaya çalıştığınız şey, Kime: ve CC: başlıklarındaki orijinal alıcılar dahil olmak üzere ikinci kez bir mesaj göndermektir, ancak bu mesajı yalnızca bazı ek alıcılar tarafından alındı. Diğer cevapların da belirttiği gibi, bu, SMTP sunucusuyla iletişim kuran ve yalnızca bir alıcı belirterek, ancak orijinal e-postanın Kime: ve Bilgi: başlıkları dahil olmak üzere e-posta istemciniz tarafından gerçekleştirilebilir.

Apple Mail istemcisi etkin bir yapabilirsiniz işlevselliğe sahiptir. Yönlendirme işlevi, bir iletinin ileti menüsü veya bağlamsal menü bulunabilir. Bu işlev, bir e-postayı Fwd: konu satırına eklemeden ve teklif düzeyini artırmadan bir başkasına şeffaf bir şekilde iletmenin bir yolu olarak kullanılmak üzere tasarlanmıştır, ancak daha önce gönderdiğiniz iletilerde de kullanılabilir. Orijinal iletinin Kime / Kimden alanlarını aynı tutar ve Resent-To ve Resent-CC başlıklarına yeni alıcıları ekler. Tekrar mesajın yalnızca alıcıları, oluştururken belirttiğiniz mesajlardır. Bu özelliği kullandığınızda bunun nasıl çalıştığı tam olarak belli değil, bu yüzden önceden test ettiğinizden emin olun.


-1

Müşteri tarafından müşteri bazında izin verilebilir / izin verilmeyebilir, ancak Kime'ye sahte bir şey (";; açıklanmayan alıcılar ;;") koyup herkesi BCC’ye koymayı deneyebilirsiniz. Sonra işlemi tekrarlamak, hiç kimsenin zaman damgası ve iş parçacığı mesajlarına yeteri kadar yakından bakmadığı sürece, aynı e-posta gibi görünmesini sağlayacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.