3
@6^~                 @   s0   d dl Z d dlmZmZmZ G dd deZdS )    N)
SpiderFootSpiderFootPluginSpiderFootEventc               @   s>   e Zd ZdZi Zi Ze fddZdd Zdd Z	dd	 Z
d
S )	sfp_emailzfE-Mail:Footprint,Investigate,Passive:Content Analysis::Identify e-mail addresses in any obtained data.c             C   s*   || _ x|j D ]}|| | j|< qW d S )N)sfkeysopts)selfsfcuserOptsopt r   4/var/www/spiderfoot.crq.systems/modules/sfp_email.pysetup   s    zsfp_email.setupc             C   s&   ddddddddd	d
dddddddgS )NTARGET_WEB_CONTENTZBASE64_DATAAFFILIATE_DOMAIN_WHOISCO_HOSTED_SITE_DOMAIN_WHOISZDOMAN_WHOISNETBLOCK_WHOISLEAKSITE_CONTENTRAW_DNS_RECORDSRAW_FILE_META_DATARAW_RIR_DATASEARCH_ENGINE_WEB_CONTENTSIMILARDOMAIN_WHOISSSL_CERTIFICATE_RAWSSL_CERTIFICATE_ISSUEDTCP_PORT_OPEN_BANNERWEBSERVER_BANNERWEBSERVER_HTTPHEADERSr   )r	   r   r   r   watchedEvents$   s    zsfp_email.watchedEventsc             C   s   ddgS )N	EMAILADDRAFFILIATE_EMAILADDRr   )r	   r   r   r   producedEvents/   s    zsfp_email.producedEventsc             C   sT  |j }|j}|j}| jjd| d |  | jj|}t }x|D ]}d}|j }|j jdd j	d}	| jj
|	| jd s| jjd| d	  d S | j j|	d
d
d r| j j| r| jjd d}|jdrd}| jjd|  |j	d}
|
|kr| jjd qD|j|
 t||
| j|}|jr<|j|_nd|_| j| qDW d S )NzReceived event, z, from r    @   ._internettldsz	Skipping z as not a valid e-mail.T)includeChildrenincludeParentsz-External domain, so possible affiliate e-mailr!   
AFFILIATE_zFound e-mail address: zAlready found from this source.Unknown)	eventTypemoduledatar   debugparseEmailslistlowersplitstrip	validHostr   	getTargetmatches
startswithinfoappendr   __name__moduleDataSourcenotifyListeners)r	   event	eventNamesrcModuleName	eventDataemailsmyresemailevttypemailDomZmailevtr   r   r   handleEvent3   s<    &




zsfp_email.handleEventN)r:   
__module____qualname____doc__r   optdescsdictr   r   r"   rG   r   r   r   r   r      s   r   )resflibr   r   r   r   r   r   r   r   <module>   s   