Noticed that the emailprovider suddenly deletes my automatic generated mails from the Pi.
Looking in the output the dateinfo was not included and also no Message-ID thus the server classifies it as Spam.
This routine generates the map you need to for composing a mail with Date/MessageID
Only issue i didnt resolved (yet) is CultureInfo. Dont know to insert this for DateTime format with B4j.
The Pi generates month/days format in my language, but the english notation is needed. Solved it replacing it in the final string (for the moment)
But there must be a beter way
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			Looking in the output the dateinfo was not included and also no Message-ID thus the server classifies it as Spam.
This routine generates the map you need to for composing a mail with Date/MessageID
Only issue i didnt resolved (yet) is CultureInfo. Dont know to insert this for DateTime format with B4j.
The Pi generates month/days format in my language, but the english notation is needed. Solved it replacing it in the final string (for the moment)
But there must be a beter way
			
				B4X:
			
		
		
		Sub GenerateRandomArray As Byte()
    Private bc As ByteConverter
    Return bc.IntsToBytes(Array As Int(Rnd(0,10000000000)))
    
End Sub
	
			
				smtp header:
			
		
		
		Sub GenerateHeader As Map
    Private m As Map
    m.Initialize
    Private bc As ByteConverter
    Private domain=Main.Settings.Email_sender As String
    If domain.IndexOf("@")>0 Then
        domain=domain.SubString(domain.IndexOf("@"))
        Else
        domain="@nodomain"
    End If
    Private st="<"& bc.HexFromBytes(GenerateRandomArray) &"-" & bc.HexFromBytes(GenerateRandomArray) &"-" & bc.HexFromBytes(GenerateRandomArray) &"-"& bc.HexFromBytes(GenerateRandomArray) &"-"& bc.HexFromBytes(GenerateRandomArray)  & domain &">" As String
    m.Put("Message-Id",st)
    Log(st)   
    DateTime.DateFormat="EEE, dd MMM yyyy HH:mm:ss Z"
    st=DateTime.Date(DateTime.now)
    st=st.ToLowerCase
    If st.Contains("di,") Then st=st.Replace("di,","Tue,")
    If st.Contains("ma,") Then st=st.Replace("ma,","Mon,")
    If st.Contains("wo,") Then st=st.Replace("wo,","Wed,")
    If st.Contains("do,") Then st=st.Replace("do,","Thu,")
    If st.Contains("vr,") Then st=st.Replace("vr,","Fri,")
    If st.Contains("za,") Then st=st.Replace("za,","Sat,")
    If st.Contains("zo,") Then st=st.Replace("zo,","Sun,")
    If st.Contains("okt ") Then st=st.Replace("okt ","Oct ")
    If st.Contains("mei ") Then st=st.Replace("mei ","May ")
    If st.Contains("mrt ") Then st=st.Replace("mrt ","Mar ")
    If st.Contains("nov ") Then st=st.Replace("nov ","Nov ")
    If st.Contains("dec ") Then st=st.Replace("dec ","Dec ")
    If st.Contains("jan ") Then st=st.Replace("jan ","Jan ")
    If st.Contains("feb ") Then st=st.Replace("feb ","Feb ")
    If st.Contains("apr ") Then st=st.Replace("apr ","Apr ")
    If st.Contains("jun ") Then st=st.Replace("jun ","Jun ")
    If st.Contains("jul ") Then st=st.Replace("jul ","Jul ")
    If st.Contains("aug ") Then st=st.Replace("aug ","Aug ")
    If st.Contains("sep ") Then st=st.Replace("sep ","Sep ")
    m.Put("Date",st)
    
    Return m
End Sub