US President Donald Trump warned Iran of major military action if Houthi rebels attack shipping in the Bab el-Mandeb Strait.